:root{color-scheme:light;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;--bg: #f3f7f5;--bg-2: #e9f2ef;--surface: rgba(255,255,255,.86);--surface-solid: #ffffff;--surface-soft: #eef7f4;--surface-strong: #dcebe6;--ink: #10231f;--muted: #64746f;--muted-strong: #3c514b;--line: rgba(17, 49, 42, .12);--line-strong: rgba(15, 118, 110, .25);--accent: #0f766e;--accent-strong: #0b5f59;--accent-2: #2563eb;--accent-soft: #dff6f1;--amber: #d97706;--success: #16a34a;--shadow: 0 24px 70px rgba(21, 55, 49, .12);--shadow-soft: 0 14px 34px rgba(21, 55, 49, .08);--radius: 22px;--radius-sm: 14px;--focus: 0 0 0 4px rgba(15, 118, 110, .18)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px;background:radial-gradient(circle at 12% 8%,rgba(37,99,235,.13),transparent 34%),radial-gradient(circle at 88% 2%,rgba(15,118,110,.18),transparent 32%),linear-gradient(135deg,var(--bg) 0%,#fbfdfc 50%,var(--bg-2) 100%);color:var(--ink)}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;opacity:.38;background-image:linear-gradient(rgba(16,35,31,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(16,35,31,.045) 1px,transparent 1px);background-size:44px 44px;-webkit-mask-image:linear-gradient(180deg,#000,transparent 70%);mask-image:linear-gradient(180deg,#000,transparent 70%)}button,input{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.46}a{color:inherit}button:focus-visible,input:focus-visible,a:focus-visible{outline:0;box-shadow:var(--focus)}.loading-screen{min-height:100vh;display:grid;place-items:center;gap:12px;color:var(--muted-strong);font-size:15px}.loading-screen svg{color:var(--accent)}.app-shell{position:relative;min-height:100vh;display:grid;grid-template-columns:minmax(300px,380px) minmax(0,1fr)}.sidebar{position:sticky;top:0;height:100vh;overflow-y:auto;padding:24px 18px;border-right:1px solid var(--line);background:linear-gradient(180deg,#ffffffeb,#eff7f4e0);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.sidebar-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:6px 4px 0}.app-kicker{margin:0 0 7px;color:var(--accent-strong);font-size:11px;font-weight:900;letter-spacing:.11em;line-height:1.3;text-transform:uppercase}.sidebar h1{margin:0;font-size:35px;line-height:.95;letter-spacing:-.05em}.study-visual{width:100%;display:block;margin:22px 0 16px;aspect-ratio:4 / 3;border:1px solid rgba(255,255,255,.72);border-radius:28px;object-fit:cover;object-position:66% center;filter:saturate(1.05) contrast(1.02);background:var(--surface-soft);box-shadow:var(--shadow-soft)}.sidebar-meta{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:20px}.sidebar-meta span{padding:12px 13px;border:1px solid var(--line);border-radius:16px;background:#ffffffad;color:var(--muted-strong);font-size:13px;font-weight:850;box-shadow:0 8px 20px #1537310b}.toc{display:grid;gap:8px}.toc details{position:relative;overflow:hidden;border:1px solid transparent;border-radius:18px;transition:background .16s ease,border-color .16s ease,box-shadow .16s ease}.toc details[open]{border-color:#0f766e3d;background:linear-gradient(135deg,#ffffffeb,#e0f6f1c2);box-shadow:0 12px 28px #15373113}.toc details[open]:before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:linear-gradient(180deg,var(--accent),var(--accent-2))}.toc details.is-active-chapter[open]{border-color:#0f766e61;box-shadow:0 16px 34px #0f766e1f}.toc summary{position:relative;display:grid;grid-template-columns:20px minmax(0,1fr) auto;align-items:center;gap:8px;padding:12px;color:var(--muted-strong);font-size:12px;font-weight:900;line-height:1.35;list-style:none;cursor:pointer}.toc summary:before{content:"›";display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:999px;background:#ffffffb8;color:var(--accent-strong);font-size:18px;line-height:1;transition:transform .16s ease,background .16s ease,color .16s ease}.toc details[open]>summary{color:var(--ink)}.toc details[open]>summary:before{transform:rotate(90deg);background:var(--accent);color:#fff}.toc summary::-webkit-details-marker{display:none}.toc summary span{min-width:0}.toc details[open]>summary span{font-weight:950}.toc summary b{min-width:28px;padding:4px 7px;border-radius:999px;background:var(--accent-soft);color:var(--accent-strong);font-size:11px;text-align:center}.toc details[open]>summary b{background:#fff;box-shadow:inset 0 0 0 1px #0f766e21}.topic-list{display:grid;gap:5px;padding:0 8px 10px}.topic-row{display:grid;grid-template-columns:30px minmax(0,1fr);align-items:center;gap:7px;min-height:48px;padding:4px;border:1px solid transparent;border-radius:15px;transition:transform .14s ease,background .14s ease,border-color .14s ease,box-shadow .14s ease}.topic-row:hover{transform:translateY(-1px);border-color:var(--line);background:#ffffffb8}.topic-row.is-active{border-color:#0f766e52;background:linear-gradient(135deg,#e2faf5,#eef4ff);color:var(--ink);box-shadow:0 12px 26px #0f766e1c}.topic-status{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;padding:0;border:1px solid rgba(15,118,110,.18);border-radius:999px;background:#ffffffb8;color:var(--accent);transition:transform .14s ease,background .14s ease,border-color .14s ease,color .14s ease}.topic-status:hover{transform:scale(1.05);border-color:var(--accent);background:#fff;color:var(--accent-strong)}.topic-status.is-done{border-color:#16a34a47;background:#ecfdf5;color:#147a3f}.topic-link{width:100%;display:grid;grid-template-columns:44px minmax(0,1fr);align-items:center;gap:9px;min-height:40px;padding:7px 8px;border:0;border-radius:12px;background:transparent;color:var(--muted-strong);text-align:left;transition:background .14s ease,color .14s ease}.topic-link:hover{background:#ffffffa3;color:var(--ink)}.topic-link span{color:var(--accent-strong);font-size:12px;font-weight:900}.topic-link strong{min-width:0;overflow-wrap:anywhere;font-size:13px;font-weight:750;line-height:1.32}.topic-row.is-active .topic-link strong{font-weight:850}.topic-row.is-done .topic-link strong{color:var(--ink)}.topic-status svg{flex:0 0 auto}.workspace{min-width:0}.topbar{position:sticky;top:0;z-index:12;display:grid;grid-template-columns:minmax(260px,760px) auto;align-items:center;justify-content:space-between;gap:16px;padding:18px 30px;border-bottom:1px solid var(--line);background:#f6faf8c7;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.search-wrap{min-width:0;display:grid;grid-template-columns:20px minmax(0,1fr) auto;align-items:center;gap:10px;padding:0 10px 0 15px;border:1px solid var(--line);border-radius:999px;background:#ffffffe0;box-shadow:0 12px 30px #1537310f}.search-wrap svg{color:var(--muted)}.search-wrap input{width:100%;min-width:0;height:46px;border:0;outline:0;color:var(--ink);background:transparent;font-size:15px}.search-wrap input::placeholder{color:#8a9a95}.topbar-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:10px}.topbar-tool{min-height:42px;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:9px 13px;border:1px solid var(--line);border-radius:999px;background:#ffffffe0;color:var(--muted-strong);font-size:13px;font-weight:900;text-decoration:none;white-space:nowrap;box-shadow:0 10px 24px #1537310e}.topbar-tool:hover{border-color:var(--accent);color:var(--accent-strong);transform:translateY(-1px)}.topbar-tool svg{color:var(--accent)}.language-switcher{min-height:42px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:999px;background:#ffffffe6;box-shadow:0 10px 24px #1537310e}.language-switcher:focus-within{border-color:var(--accent);box-shadow:var(--focus)}.language-switcher select{width:74px;height:40px;padding:0 26px 0 14px;border:0;border-radius:999px;outline:0;background:transparent;color:var(--muted-strong);font-size:12px;font-weight:950;line-height:1;cursor:pointer}.language-switcher select:hover{color:var(--accent-strong)}.resume-cta{position:relative;overflow:hidden;border-color:#0f766e6b;background:linear-gradient(135deg,#0b5f59,#0f766e 48%,#2563eb);color:#fff;box-shadow:0 16px 36px #0f766e47,0 0 0 3px #0f766e17}.resume-cta:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(120deg,transparent 0%,rgba(255,255,255,.2) 35%,transparent 62%);transform:translate(-120%);transition:transform .28s ease}.resume-cta:hover{border-color:#ffffff80;color:#fff;background:linear-gradient(135deg,#0f766e,#16897f 46%,#2f6feb);box-shadow:0 18px 42px #0f766e57,0 0 0 4px #2563eb1c}.resume-cta:hover:before{transform:translate(120%)}.topbar-tool.resume-cta svg,.topbar-tool.resume-cta span,.topbar-tool.resume-cta small{position:relative;z-index:1}.topbar-tool.resume-cta svg{color:#fff}.resume-cta small{display:inline-flex;align-items:center;justify-content:center;min-height:22px;padding:0 8px;border-radius:999px;background:#f59e0b;color:#10231f;font-size:10px;font-weight:950;line-height:1;letter-spacing:0;box-shadow:inset 0 0 0 1px #ffffff5c}.support-cta{border-color:#d977065c;background:linear-gradient(135deg,#fff7ed,#fffbeb 58%,#eef7f4);color:#7c3f08;box-shadow:0 14px 30px #d9770624,inset 0 0 0 1px #ffffffad}.support-cta:hover{border-color:#d977069e;background:linear-gradient(135deg,#ffedd5,#fef3c7 56%,#e0f2fe);color:#78350f;box-shadow:0 16px 36px #d9770633,0 0 0 4px #f59e0b1a}.topbar-tool.support-cta svg{color:#d97706}.support-cta small{display:inline-flex;align-items:center;justify-content:center;min-height:22px;padding:0 8px;border-radius:999px;background:#10231f;color:#fff7ed;font-size:10px;font-weight:950;line-height:1;letter-spacing:0}.contact-cta{min-width:136px;border-color:#2563eb52;background:linear-gradient(135deg,#eff6ff,#f8fafc 55%,#ecfeff);color:#1d4ed8;box-shadow:0 14px 30px #2563eb1f,inset 0 0 0 1px #ffffffb3}.contact-cta:hover{border-color:#2563eb8f;background:linear-gradient(135deg,#dbeafe,#eff6ff 58%,#ccfbf1);color:#1e3a8a;box-shadow:0 16px 36px #2563eb2e,0 0 0 4px #2563eb14}.topbar-tool.contact-cta{align-items:center;justify-content:center;gap:7px;padding-top:8px;padding-bottom:8px}.topbar-tool.contact-cta svg{color:#2563eb}.contact-cta span{display:inline-flex;align-items:center;min-height:22px;line-height:1}.contact-cta small{display:inline-flex;align-items:center;justify-content:center;min-height:22px;padding:0 8px;border-radius:999px;background:#2563eb;color:#fff;font-size:10px;font-weight:950;line-height:1;letter-spacing:0}.trainer-cta{border-color:#7c3aed57;background:linear-gradient(135deg,#f5f3ff,#eef2ff,#ecfeff);color:#4c1d95;box-shadow:0 14px 30px #4f46e521,inset 0 0 0 1px #ffffffb3}.trainer-cta:hover{border-color:#7c3aed94;background:linear-gradient(135deg,#ede9fe,#dbeafe 52%,#ccfbf1);color:#3b0764;box-shadow:0 16px 36px #4f46e533,0 0 0 4px #7c3aed17}.topbar-tool.trainer-cta svg{color:#7c3aed}.trainer-cta small{display:inline-flex;align-items:center;justify-content:center;min-height:22px;padding:0 8px;border-radius:999px;background:#7c3aed;color:#fff;font-size:10px;font-weight:950;line-height:1;letter-spacing:0}.content-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(230px,280px);gap:28px;width:min(1260px,100%);margin:0 auto;padding:30px}.reader{min-width:0;display:grid;gap:20px}.chapter-strip{display:flex;align-items:center;justify-content:space-between;gap:14px;color:var(--muted-strong);font-size:13px;font-weight:900;line-height:1.35}.chapter-strip span:first-child{min-width:0;overflow-wrap:anywhere}.chapter-strip span:last-child{white-space:nowrap;padding:7px 10px;border-radius:999px;background:#ffffffbd;border:1px solid var(--line)}.content-section{padding:24px;border:1px solid rgba(255,255,255,.68);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow-soft);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.topic-hero{position:relative;overflow:hidden;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px 20px;padding:clamp(28px,5vw,52px);border:1px solid rgba(255,255,255,.72);border-radius:32px;background:linear-gradient(135deg,#10231ff7,#0c5f59eb 58%,#2563ebdb);color:#fff;box-shadow:0 30px 90px #0f5f5938}.topic-hero:after{content:"";position:absolute;inset:auto -10% -45% 35%;height:220px;background:radial-gradient(circle,rgba(255,255,255,.28),transparent 62%);transform:rotate(-10deg)}.topic-hero p{position:relative;z-index:1;grid-column:1 / -1;width:fit-content;margin:0;padding:7px 11px;border:1px solid rgba(255,255,255,.22);border-radius:999px;background:#ffffff1f;color:#c8fff4;font-size:13px;font-weight:950}.topic-hero h1{position:relative;z-index:1;margin:0;color:#fff;font-size:clamp(32px,5vw,64px);line-height:.98;letter-spacing:-.055em;overflow-wrap:anywhere}.topic-nav{position:relative;z-index:1;display:flex;align-items:flex-start;gap:9px}.topic-nav button,.copy-button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:42px;padding:10px 13px;border:1px solid var(--line-strong);border-radius:999px;background:var(--surface-solid);color:var(--muted-strong);font-size:13px;font-weight:900;transition:transform .14s ease,border-color .14s ease,color .14s ease,background .14s ease}.topic-hero .topic-nav button{border-color:#ffffff38;background:#ffffff24;color:#fff;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.topic-nav button:hover,.copy-button:hover{transform:translateY(-1px);border-color:var(--accent);color:var(--accent-strong)}.topic-hero .topic-nav button:hover{border-color:#ffffff8c;color:#fff;background:#ffffff38}.section-title-row{display:flex;align-items:center;gap:10px;margin-bottom:15px}.section-title-row h2{margin:0;color:var(--ink);font-size:19px;line-height:1.2;letter-spacing:-.02em}.section-title-row svg{flex:0 0 auto;color:var(--accent)}.copy-button{margin-left:auto;min-height:34px;padding:7px 11px;font-size:12px}.text-block{margin:0;white-space:pre-wrap;color:var(--ink);font-size:16px;line-height:1.75;overflow-wrap:anywhere}.code-block{display:block;width:100%;overflow-x:auto;padding:18px;border:1px solid rgba(255,255,255,.12);border-radius:18px;background:linear-gradient(135deg,#10231f,#132b31);color:#ecfffb;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:14px;line-height:1.65;white-space:pre-wrap;box-shadow:inset 0 1px #ffffff0d}.study-panel{position:sticky;top:92px;align-self:start;display:grid;gap:14px}.panel-card{width:100%;border:1px solid rgba(255,255,255,.72);border-radius:var(--radius);background:#ffffffd6;box-shadow:var(--shadow-soft);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.panel-card{display:grid;gap:11px;padding:18px}.panel-title{display:flex;align-items:center;gap:9px;color:var(--muted-strong);font-size:13px;font-weight:950}.panel-title svg{color:var(--accent)}.progress-card strong{display:block;color:var(--ink);font-size:31px;line-height:1;letter-spacing:-.04em}.progress-card p,.source-card p,.panel-card p{margin:0;color:var(--muted-strong);font-size:13px;font-weight:750;line-height:1.5}.progress-track{height:9px;overflow:hidden;border-radius:999px;background:var(--surface-strong)}.progress-track span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--accent),var(--accent-2),var(--amber))}.panel-card a,.panel-card button{display:flex;align-items:center;min-height:38px;padding:8px 10px;border:1px solid var(--line);border-radius:14px;color:var(--muted-strong);background:#ffffffd1;font-size:13px;font-weight:900;text-decoration:none}.panel-card button{width:100%}.panel-card a:hover,.panel-card button:hover{border-color:var(--accent);color:var(--accent-strong);background:#fff}.support-panel-card{overflow:hidden;position:relative;background:linear-gradient(135deg,#fff7ed,#fffbebeb 54%,#eef7f4e0)}.support-panel-card:before{content:"";position:absolute;inset:0 0 auto;height:4px;background:linear-gradient(90deg,#d97706,var(--amber),var(--accent))}.support-panel-card .panel-title svg{color:#d97706}.support-panel-card button{justify-content:space-between;border-color:#d977063d;color:#7c3f08}.support-panel-card button:hover{border-color:#d9770680;color:#78350f}.support-widget{position:fixed;right:20px;bottom:20px;z-index:60;display:grid;justify-items:end;gap:10px}.support-fab{min-height:48px;display:inline-flex;align-items:center;gap:9px;max-width:calc(100vw - 40px);padding:0 16px;border:1px solid rgba(255,255,255,.72);border-radius:999px;background:linear-gradient(135deg,#fff,#effaf7);color:var(--accent-strong);font-size:13px;font-weight:950;box-shadow:0 18px 42px #15373129}.support-fab:hover{border-color:var(--accent);transform:translateY(-1px)}.support-fab svg{color:var(--accent)}.support-popover{width:min(360px,calc(100vw - 40px));position:absolute;right:0;bottom:58px;display:grid;gap:12px;padding:20px;border:1px solid rgba(255,255,255,.72);border-radius:24px;background:#fffffff0;box-shadow:var(--shadow);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.support-widget.no-fab .support-popover{bottom:0}.support-close{position:absolute;top:12px;right:12px;display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border:1px solid var(--line);border-radius:999px;background:var(--surface-solid);color:var(--muted-strong)}.support-kicker{width:fit-content;margin:0;padding:6px 9px;border-radius:999px;background:var(--accent-soft);color:var(--accent-strong);font-size:11px;font-weight:950;line-height:1.2;text-transform:uppercase}.support-popover h2{margin:0;padding-right:38px;font-size:23px;line-height:1.08;letter-spacing:-.03em}.support-popover p{margin:0;color:var(--muted-strong);font-size:14px;line-height:1.52}.support-links{display:grid;gap:8px}.support-link{min-height:44px;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:0 12px;border:1px solid var(--line);border-radius:16px;background:#fbfdfc;color:var(--muted-strong);font-weight:900;text-align:left;text-decoration:none;cursor:pointer}.support-link:hover{border-color:#0f766e57;background:#fff;color:var(--accent-strong);transform:translateY(-1px)}.support-link-main{display:inline-flex;align-items:center;gap:7px;min-width:0}.support-card-copy .support-link-main{flex-wrap:wrap}.support-card-number{color:var(--ink);font-size:12px;font-variant-numeric:tabular-nums;line-height:1.2;white-space:nowrap}.contact-email-copy .support-link-main{flex-wrap:wrap}.contact-email-value,.contact-linkedin-name{color:var(--ink);font-size:12px;line-height:1.2;word-break:break-word}.support-link small{flex:0 0 auto;color:var(--muted);font-size:11px;font-weight:950;text-transform:uppercase}.support-link.is-copied{border-color:#0f766e5c;background:#f0fbf8;color:var(--accent-strong)}.contact-widget .support-popover{bottom:0}.contact-kicker{background:#2563eb1f;color:#1d4ed8}.icon-button{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border:1px solid var(--line);border-radius:999px;background:var(--surface-solid);color:var(--muted-strong)}.icon-button:hover{border-color:var(--accent);color:var(--accent-strong)}.icon-button.ghost{width:32px;height:32px;border:0;background:transparent}.mobile-only,.mobile-overlay{display:none}.trainer-app{min-height:100vh;background:radial-gradient(circle at 14% 10%,rgba(124,58,237,.16),transparent 32%),radial-gradient(circle at 88% 4%,rgba(15,118,110,.18),transparent 30%),linear-gradient(135deg,#f6f8fb,#fbfdfc 52%,#edf7f5);color:var(--ink)}.trainer-topbar{position:sticky;top:0;z-index:20;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:16px;padding:16px 24px;border-bottom:1px solid var(--line);background:#f6faf8d6;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.trainer-back{min-height:42px;display:inline-flex;align-items:center;gap:8px;padding:0 14px;border:1px solid var(--line);border-radius:999px;background:#ffffffe0;color:var(--muted-strong);font-size:13px;font-weight:900}.trainer-back:hover{border-color:var(--accent);color:var(--accent-strong);transform:translateY(-1px)}.trainer-topbar p{margin:0 0 3px;color:#7c3aed;font-size:11px;font-weight:950;letter-spacing:.1em;text-transform:uppercase}.trainer-topbar h1{margin:0;font-size:clamp(22px,3vw,34px);line-height:1;letter-spacing:-.045em}.trainer-top-actions{display:flex;justify-content:flex-end;gap:10px}.trainer-layout{display:grid;grid-template-columns:minmax(270px,340px) minmax(0,1fr);gap:26px;width:min(1480px,100%);margin:0 auto;padding:26px}.trainer-sidebar{position:sticky;top:92px;align-self:start;display:grid;gap:14px}.trainer-progress-card,.trainer-panel,.trainer-task-card,.trainer-exercise-list,.trainer-sidebar .trainer-module-list{border:1px solid rgba(255,255,255,.72);background:#ffffffdb;box-shadow:var(--shadow-soft);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.trainer-progress-card{display:grid;gap:10px;padding:18px;border-radius:var(--radius)}.trainer-progress-card span,.trainer-progress-card p{color:var(--muted-strong);font-size:13px;font-weight:850;margin:0}.trainer-progress-card strong{font-size:30px;line-height:1;letter-spacing:-.04em}.trainer-search{display:grid;grid-template-columns:18px minmax(0,1fr);align-items:center;gap:8px;min-height:44px;padding:0 12px;border:1px solid var(--line);border-radius:999px;background:#ffffffe0}.trainer-search svg{color:var(--muted)}.trainer-search input{min-width:0;border:0;outline:0;background:transparent;color:var(--ink);font-size:14px}.trainer-module-list{display:grid;gap:8px;padding:10px;border-radius:var(--radius)}.trainer-module-list button{display:grid;grid-template-columns:46px minmax(0,1fr);align-items:center;gap:10px;min-height:62px;padding:9px;border:1px solid transparent;border-radius:16px;background:transparent;color:var(--muted-strong);text-align:left}.trainer-module-list button:hover{border-color:var(--line);background:#ffffffc2;transform:translateY(-1px)}.trainer-module-list button.is-active{border-color:#7c3aed42;background:linear-gradient(135deg,#f5f3ff,#eef2ff);color:var(--ink);box-shadow:0 12px 26px #4f46e51a}.trainer-module-list strong,.trainer-exercise-list strong{display:block;min-width:0;font-size:13px;line-height:1.25;overflow-wrap:anywhere}.trainer-module-list small,.trainer-exercise-list small{display:block;margin-top:3px;color:var(--muted);font-size:11px;font-weight:850}.trainer-module-badge{width:46px;height:46px;display:inline-flex;align-items:center;justify-content:center;border-radius:15px;background:#10231f;color:#fff;font-size:11px;font-weight:950;box-shadow:inset 0 0 0 1px #ffffff1a}.trainer-module-badge.is-cyan{background:#0e7490}.trainer-module-badge.is-emerald{background:#047857}.trainer-module-badge.is-fuchsia{background:#a21caf}.trainer-module-badge.is-orange{background:#c2410c}.trainer-module-badge.is-sky{background:#0369a1}.trainer-module-badge.is-amber{background:#b45309}.trainer-module-badge.is-violet{background:#7c3aed}.trainer-main{min-width:0;display:grid;gap:20px}.trainer-hero{overflow:hidden;position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:18px;padding:clamp(28px,4vw,48px);border-radius:32px;border:1px solid rgba(255,255,255,.75);background:linear-gradient(135deg,#111827,#0f766e 54%,#7c3aed);color:#fff;box-shadow:0 30px 90px #1f293733}.trainer-hero:after{content:"";position:absolute;inset:auto -8% -46% 28%;height:240px;background:radial-gradient(circle,rgba(255,255,255,.22),transparent 62%)}.trainer-hero>*{position:relative;z-index:1}.trainer-hero p{width:fit-content;margin:0 0 10px;padding:7px 11px;border:1px solid rgba(255,255,255,.22);border-radius:999px;background:#ffffff1f;color:#d9fffb;font-size:13px;font-weight:950}.trainer-hero h2{margin:0;color:#fff;font-size:clamp(34px,5vw,64px);line-height:.98;letter-spacing:-.055em}.trainer-hero span{display:block;max-width:720px;margin-top:14px;color:#ffffffc7;line-height:1.6}.trainer-hero-stats{min-width:150px;padding:18px;border:1px solid rgba(255,255,255,.18);border-radius:22px;background:#ffffff1f;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.trainer-hero-stats strong{display:block;color:#fff;font-size:42px;line-height:1}.trainer-hero-stats span{margin:5px 0 0;color:#fffc;font-size:13px;font-weight:850}.trainer-work-grid{display:grid;grid-template-columns:minmax(240px,330px) minmax(0,1fr);gap:20px;align-items:start}.trainer-exercise-list{position:sticky;top:92px;max-height:calc(100vh - 112px);overflow:auto;display:grid;gap:7px;padding:14px;border-radius:var(--radius)}.trainer-section-title{display:flex;align-items:center;gap:9px;margin-bottom:6px;color:var(--muted-strong)}.trainer-section-title h3{margin:0;font-size:15px;line-height:1.2}.trainer-section-title svg{color:var(--accent)}.trainer-exercise-list button{display:grid;grid-template-columns:24px minmax(0,1fr);align-items:center;gap:9px;min-height:58px;padding:9px;border:1px solid transparent;border-radius:15px;background:transparent;color:var(--muted-strong);text-align:left}.trainer-exercise-list button:hover{border-color:var(--line);background:#ffffffc7;transform:translateY(-1px)}.trainer-exercise-list button.is-active{border-color:#0f766e47;background:linear-gradient(135deg,#e2faf5,#eef4ff);color:var(--ink)}.trainer-exercise-list button.is-done svg{color:#16a34a}.trainer-dot{width:16px;height:16px;border:1px solid rgba(15,118,110,.28);border-radius:999px;background:#fffc}.trainer-workspace{min-width:0;display:grid;gap:16px}.trainer-task-card,.trainer-panel{padding:20px;border-radius:var(--radius)}.trainer-task-meta{display:flex;flex-wrap:wrap;gap:8px}.trainer-task-meta span{padding:6px 9px;border-radius:999px;background:var(--accent-soft);color:var(--accent-strong);font-size:11px;font-weight:950}.trainer-task-card h2{margin:14px 0 8px;font-size:clamp(24px,3vw,38px);line-height:1;letter-spacing:-.04em}.trainer-task-card p{margin:0;color:var(--muted-strong);line-height:1.6}.trainer-scenario{margin-top:16px;padding:16px;border-radius:18px;background:#10231f;color:#ecfffb}.trainer-scenario strong{display:block;margin-bottom:6px;color:#99f6e4}.trainer-scenario p{color:#e5eefc}.trainer-tool{display:grid;gap:14px}.trainer-tool-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.trainer-tool-head h3{margin:0;font-size:16px}.trainer-primary,.trainer-secondary{min-height:40px;display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:9px 13px;border-radius:999px;font-size:13px;font-weight:950}.trainer-primary{border:1px solid rgba(15,118,110,.35);background:linear-gradient(135deg,var(--accent),var(--accent-2));color:#fff;box-shadow:0 12px 26px #0f766e2e}.trainer-primary:hover{transform:translateY(-1px);box-shadow:0 14px 30px #0f766e3d}.trainer-primary.is-large{width:100%;min-height:50px}.trainer-secondary{border:1px solid var(--line);background:#ffffffdb;color:var(--muted-strong)}.trainer-secondary:hover{border-color:var(--accent);color:var(--accent-strong);transform:translateY(-1px)}.trainer-codebox,.trainer-rest-line input,.trainer-rest-line select,.trainer-log-grid input,.trainer-command-runner input{width:100%;min-width:0;border:1px solid rgba(15,118,110,.13);border-radius:15px;background:#0f172a;color:#ecfffb;outline:0;box-shadow:inset 0 1px #ffffff0a}.trainer-codebox{resize:vertical;padding:14px;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:13px;line-height:1.55}.trainer-rest-line,.trainer-command-runner{display:grid;grid-template-columns:140px minmax(0,1fr) auto;gap:10px}.trainer-rest-line input,.trainer-rest-line select,.trainer-log-grid input,.trainer-command-runner input{min-height:42px;padding:0 12px}.trainer-split{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.trainer-split.is-wide{grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr)}.trainer-split label{display:grid;gap:8px;color:var(--muted-strong);font-size:13px;font-weight:900}.trainer-response{min-height:130px;overflow:auto;margin:0;padding:14px;border-radius:16px;background:#020617;color:#dbeafe;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:13px;line-height:1.55;white-space:pre-wrap}.trainer-table-wrap{overflow:auto;border-radius:16px;border:1px solid var(--line);background:#fff}.trainer-table-wrap table{width:100%;border-collapse:collapse;font-size:13px}.trainer-table-wrap th{padding:10px;background:#edf7f5;color:var(--muted-strong);text-align:left}.trainer-table-wrap td{padding:10px;border-top:1px solid var(--line);color:var(--ink)}.trainer-terminal{overflow:hidden;border-radius:18px;border:1px solid rgba(255,255,255,.12);background:#020617;color:#dbeafe}.trainer-terminal-history{min-height:360px;max-height:520px;overflow:auto;padding:16px;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:13px;line-height:1.6}.trainer-terminal-history pre{margin:0 0 8px;white-space:pre-wrap}.trainer-prompt{margin:0;color:#86efac}.trainer-command-line{display:grid;grid-template-columns:auto minmax(0,1fr);gap:8px;padding:12px 16px;border-top:1px solid rgba(255,255,255,.1);font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:13px}.trainer-command-line span{color:#86efac}.trainer-command-line input{border:0;outline:0;background:transparent;color:#ecfffb}.trainer-log-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr)) auto;gap:10px}.trainer-log-list{display:grid;gap:10px}.trainer-log-list>p{margin:0;padding:16px;border-radius:16px;background:var(--surface-soft);color:var(--muted-strong)}.trainer-log-item{padding:14px;border:1px solid rgba(217,119,6,.24);border-radius:16px;background:#fffbeb;color:#78350f}.trainer-log-item span{display:inline-flex;margin:0 6px 8px 0;padding:5px 8px;border-radius:999px;background:#ffffffb3;font-size:12px;font-weight:850}.trainer-log-item p{margin:0;color:#10231f}.trainer-files{display:grid;grid-template-columns:minmax(190px,260px) minmax(0,1fr);gap:14px}.trainer-files aside{display:grid;align-content:start;gap:7px;padding:10px;border-radius:18px;background:var(--surface-soft)}.trainer-files aside button:not(.trainer-secondary){min-height:36px;border:1px solid transparent;border-radius:12px;background:transparent;color:var(--muted-strong);font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:12px;text-align:left}.trainer-files aside button:not(.trainer-secondary):hover,.trainer-files aside button.is-active{border-color:#0f766e38;background:#fff;color:var(--accent-strong)}.trainer-files section{min-width:0;display:grid;gap:12px}.trainer-files section p{margin:0;color:var(--muted-strong);font-size:13px}.trainer-check-grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:16px}.trainer-hints{margin:14px 0 0;padding-left:20px;color:var(--muted-strong);line-height:1.6}.trainer-result{display:grid;gap:10px;margin-top:12px;padding:16px;border-radius:18px}.trainer-result.is-ok{border:1px solid rgba(22,163,74,.24);background:#ecfdf5;color:#14532d}.trainer-result.is-error{border:1px solid rgba(220,38,38,.22);background:#fff1f2;color:#881337}.trainer-result strong{font-size:15px}.trainer-result ul{margin:0;padding-left:20px;line-height:1.55}.trainer-result p{margin:0;line-height:1.55}@media (max-width: 1120px){.app-shell{grid-template-columns:1fr}.sidebar{position:fixed;inset:0 auto 0 0;z-index:30;width:min(88vw,390px);transform:translate(-105%);transition:transform .18s ease;box-shadow:var(--shadow)}.sidebar.is-open{transform:translate(0)}.mobile-only{display:inline-flex}.mobile-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:24;display:block;background:#11231f52;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.mobile-overlay[hidden]{display:none}.topbar{grid-template-columns:auto minmax(0,1fr) auto;padding:14px 18px}.content-grid{grid-template-columns:minmax(0,1fr);padding:24px 18px}.study-panel{position:static;grid-template-columns:repeat(2,minmax(0,1fr))}.trainer-topbar{grid-template-columns:auto minmax(0,1fr)}.trainer-top-actions{grid-column:1 / -1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.trainer-top-actions .topbar-tool{width:100%;min-width:0}.trainer-layout{grid-template-columns:1fr;padding:20px}.trainer-sidebar,.trainer-exercise-list{position:static;max-height:none}.trainer-module-list{grid-template-columns:repeat(2,minmax(0,1fr))}.trainer-work-grid{grid-template-columns:1fr}}@media (max-width: 720px){.topbar{grid-template-columns:auto minmax(0,1fr);gap:8px 10px;padding:10px 12px 8px}.search-wrap{gap:8px;padding:0 8px 0 13px}.search-wrap input{height:40px;font-size:14px}.topbar-actions,.trainer-top-actions{grid-column:1 / -1;display:grid;align-items:center;gap:6px;width:100%;overflow:visible;padding:0}.topbar-actions{grid-template-columns:58px repeat(4,minmax(46px,1fr))}.trainer-top-actions{grid-template-columns:58px repeat(3,minmax(46px,1fr))}.topbar-actions .language-switcher,.trainer-top-actions .language-switcher{width:100%;min-width:0;min-height:40px}.language-switcher select{width:100%;height:38px;padding:0 18px 0 9px}.topbar-tool,.trainer-top-actions .topbar-tool{width:100%;min-width:0;min-height:40px;padding:0;font-size:12px}.topbar-actions .topbar-tool span,.topbar-actions .topbar-tool small,.trainer-top-actions .topbar-tool span,.trainer-top-actions .topbar-tool small{display:none}.content-grid{padding:18px 12px 28px;gap:18px}.content-section{padding:18px;border-radius:20px}.topic-hero{grid-template-columns:1fr;padding:26px 20px;border-radius:24px}.topic-hero h1{font-size:34px;line-height:1.04}.topic-nav{width:100%}.topic-nav button{flex:1}.study-panel{grid-template-columns:1fr}.section-title-row{flex-wrap:wrap}.copy-button{width:100%;margin-left:0}.text-block{font-size:15px;line-height:1.65}.code-block{font-size:13px}.support-widget{right:12px;bottom:12px}.support-widget:not(.is-open){display:none}.support-fab{min-height:42px;padding:0 12px}.support-popover{right:0;width:min(340px,calc(100vw - 24px))}.trainer-topbar{padding:14px 12px;gap:12px}.trainer-back{width:42px;min-height:42px;padding:0;justify-content:center}.trainer-back span{display:none}.trainer-topbar h1{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:22px}.trainer-layout{padding:14px 12px 28px;gap:16px}.trainer-module-list{grid-template-columns:1fr}.trainer-hero{grid-template-columns:1fr;padding:26px 20px;border-radius:24px}.trainer-hero h2{font-size:36px;line-height:1.02}.trainer-hero-stats{width:100%}.trainer-rest-line,.trainer-command-runner,.trainer-split,.trainer-split.is-wide,.trainer-log-grid,.trainer-files,.trainer-check-grid{grid-template-columns:1fr}.trainer-task-card,.trainer-panel{padding:16px;border-radius:20px}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}@media (min-width: 1121px){.topbar{grid-template-columns:minmax(220px,520px) minmax(0,auto);align-items:center;gap:18px}.search-wrap input{height:42px}.topbar-actions{flex-wrap:nowrap;justify-content:flex-end;gap:8px}.topbar-tool{min-height:40px;padding:8px 11px}.topbar-tool small{display:none}.language-switcher{min-height:40px}.language-switcher select{height:38px}}.chapter-strip{justify-content:flex-start}.chapter-strip span:first-child{padding:7px 10px;border-radius:999px;background:#ffffffbd;border:1px solid var(--line)}.trainer-quiz-tool{display:grid;gap:14px}.trainer-answer-line{min-height:64px;display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:12px;border:1px dashed rgba(15,118,110,.34);border-radius:18px;background:linear-gradient(135deg,#f0fdfa,#f8fafc);color:var(--muted-strong);font-size:13px;font-weight:850}.trainer-token-grid,.trainer-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.trainer-token-grid button,.trainer-choice-grid button,.trainer-picked-token{min-height:46px;padding:10px 12px;border:1px solid var(--line);border-radius:16px;background:#ffffffe6;color:var(--ink);font-size:13px;font-weight:900;text-align:left;overflow-wrap:anywhere;transition:transform .14s ease,border-color .14s ease,background .14s ease,color .14s ease}.trainer-token-grid button:hover,.trainer-choice-grid button:hover,.trainer-picked-token:hover{transform:translateY(-1px);border-color:#0f766e57;background:#fff;color:var(--accent-strong)}.trainer-token-grid button:disabled{opacity:.38;cursor:not-allowed;transform:none}.trainer-picked-token{display:inline-flex;align-items:center;width:auto;min-height:38px;background:#10231f;color:#ecfffb;border-color:#ffffff2e}.trainer-choice-grid button.is-selected{border-color:#0f766e80;background:linear-gradient(135deg,#ccfbf1,#e0f2fe);color:#0f3f3a;box-shadow:0 12px 26px #0f766e1f}.trainer-hint-text{margin:12px 0 0;padding:14px;border-radius:16px;background:#fffbeb;color:#78350f;line-height:1.55;font-weight:750}@media (max-width: 720px){.support-widget.contact-widget.is-open,.support-widget.is-open{display:grid}.support-widget.no-fab .support-popover,.contact-widget .support-popover{position:fixed;left:12px;right:12px;bottom:12px;width:auto;max-height:calc(100vh - 24px);overflow:auto}.trainer-token-grid,.trainer-choice-grid{grid-template-columns:1fr}}@media (min-width: 1121px){.topbar{grid-template-columns:minmax(180px,360px) minmax(0,1fr);justify-content:stretch;gap:12px;padding:12px 22px}.search-wrap{max-width:360px;gap:8px;padding:0 9px 0 13px}.search-wrap input{height:38px;font-size:14px}.topbar-actions{min-width:0;flex-wrap:nowrap;justify-content:flex-end;gap:7px;overflow:visible}.topbar-actions .language-switcher{flex:0 0 74px;min-height:38px}.topbar-actions .language-switcher select{width:74px;height:36px;padding-left:12px;padding-right:24px}.topbar-actions .topbar-tool{flex:0 1 auto;min-width:0;min-height:38px;gap:6px;padding:0 10px;font-size:12px;line-height:1}.topbar-actions .topbar-tool span{min-width:0;overflow:hidden;text-overflow:ellipsis}.topbar-actions .trainer-cta span{max-width:92px}.topbar-actions .resume-cta span{max-width:112px}.topbar-actions .contact-cta span{max-width:105px}.topbar-actions .support-cta span{max-width:148px}.topbar-actions .topbar-tool small,.topbar-actions .resume-cta small,.topbar-actions .support-cta small,.topbar-actions .contact-cta small,.topbar-actions .trainer-cta small{display:none!important}}@media (min-width: 1121px) and (max-width: 1360px){.topbar{grid-template-columns:minmax(160px,300px) minmax(0,1fr);padding-inline:16px}.search-wrap{max-width:300px}.topbar-actions .topbar-tool{padding-inline:9px}.topbar-actions .resume-cta span,.topbar-actions .support-cta span{display:none}}
