.book__banner{position:relative;overflow:hidden;background:var(--purple);color:#fff}.book__banner-inner{position:relative;max-width:980px;margin:0 auto;padding:40px 24px 44px}.book__site{margin:0 0 22px;font-weight:600;font-size:18px}.book__subtitle{display:inline-block;margin:0;padding:4px 12px;border-radius:999px;background:#ffffff1f;border:1px solid rgba(255,255,255,.2);font-size:14px;font-weight:600}.book__title{margin:12px 0 0;font-size:42px;font-weight:600;line-height:1.15}.book__progress{display:flex;align-items:center;gap:12px;max-width:420px;margin-top:18px;font-size:15px;color:#e2d8ff}.book__track{flex:1;height:8px;border-radius:999px;background:#ffffff40;overflow:hidden}.book__track>span{display:block;height:100%;background:#fff}.book__main{max-width:980px;margin:0 auto;padding:36px 24px 72px}.chapter__head{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.chapter__head h2{margin:0;font-size:26px;font-weight:600}.chapter__pct{font-weight:700;color:var(--purple)}.chapter__lessons{list-style:none;margin:16px 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px}.lesson-card{display:flex;flex-direction:column;gap:4px;padding:18px 20px;border-radius:20px;background:#fff;box-shadow:var(--shadow-card);color:var(--ink);text-decoration:none;border:2px solid transparent;transition:border-color .15s,transform .15s}.lesson-card:hover{border-color:var(--marker);transform:translateY(-2px)}.lesson-card__num{font-size:13px;font-weight:700;color:var(--purple)}.lesson-card__title{font-size:20px;font-weight:600}.lesson-card__status{font-size:14px;color:var(--muted)}.lesson-card__status.is-done{color:var(--green);font-weight:700}.tools{margin-top:48px;padding:24px;border-radius:22px;background:#fff;box-shadow:var(--shadow-card)}.tools h2{margin:0;font-size:20px;font-weight:600}.tools p{margin:8px 0 0;color:var(--muted-2);font-size:16px}.tools__actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}.tools__reset{background:transparent;color:var(--red);border:1.5px solid #f3c6b4}.mat{margin:4px 0 0}.mat-stage{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:center;gap:22px;padding:34px 110px 24px 40px}.doll-svg{position:absolute;top:0;right:0;bottom:0;left:0;display:block;width:100%;height:100%;overflow:visible}.mat-standing,.mat-current{flex:none;position:relative;display:block;aspect-ratio:120 / 170}.mat-standing{animation:settle .45s ease-out}@keyframes settle{0%{opacity:0;transform:translate(40px)}to{opacity:1;transform:none}}.mat-current{padding:0;border:0;background:transparent;cursor:pointer}.mat-current[aria-disabled=true]{cursor:default}.mat-current:hover{filter:brightness(1.05)}.mat-floor{position:absolute;left:-12%;right:-12%;bottom:-12px;height:20px;border-radius:50%;background:#28143c33;filter:blur(5px)}.mat-inner{position:absolute;left:50%;bottom:3%;aspect-ratio:120 / 170;transform:translate(-50%);transition:opacity .25s .15s}.mat-half{position:absolute;top:0;right:0;bottom:0;left:0}.mat-lid{transform-origin:85% 56%}.mat-lid.is-open{transform:translate(62%,-22px) rotate(24deg);transition:transform .65s cubic-bezier(.3,1.3,.5,1)}.side-visual{display:flex;flex-wrap:wrap;align-items:flex-start;gap:24px;margin-top:26px}.side-visual__text{flex:1 1 320px;min-width:0}.side-visual__text p{margin:8px 0 0}.side-visual__title{margin:0;font-size:20px;font-weight:600}.side-visual__hint{font-size:15px;color:var(--muted)}.visual-card{flex:0 1 300px;display:flex;flex-direction:column;align-items:center;gap:12px;padding:20px;border-radius:22px;background:#fff;box-shadow:var(--shadow-card)}.visual-caption{margin:0;text-align:center;font-size:15px;color:var(--muted-2)}.visual-actions{display:flex;justify-content:center;margin-top:10px}.term-btn{padding:0 2px;border:0;border-bottom:2px dashed var(--purple);background:transparent;font:inherit;color:var(--purple-deep);cursor:pointer}.info-box{padding:14px 16px;border-radius:16px;background:var(--lavender);font-size:16px}.onion{position:relative;width:170px;height:170px}.onion__layer{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);border-radius:50%;box-shadow:inset 0 0 0 2px #ffffff59,0 4px 10px #4a22a826}.parcel{height:170px;display:flex;align-items:center;justify-content:center}.parcel__box{display:block;border-radius:14px;background-image:linear-gradient(90deg,transparent 44%,var(--amber) 44%,var(--amber) 56%,transparent 56%),linear-gradient(0deg,transparent 44%,var(--amber) 44%,var(--amber) 56%,transparent 56%);box-shadow:0 10px 22px #4a22a833;transition:width .3s,height .3s}.parcel__prize{animation:pop .5s cubic-bezier(.2,1.6,.4,1)}@keyframes pop{0%{transform:scale(.3);opacity:0}to{transform:scale(1);opacity:1}}@media (max-width: 600px){.mat-stage{zoom:.6;flex-wrap:nowrap;gap:16px;padding:40px 90px 30px 0}}.lesson-p{margin:16px 0 0}.lesson-h2{margin:44px 0 0;font-size:28px;font-weight:600;line-height:1.25}.lesson-h3{margin:28px 0 0;font-size:22px;font-weight:600}.card{margin-top:26px;padding:26px;border-radius:var(--radius-card);background:#fff;box-shadow:var(--shadow-card)}.question__title{display:flex;align-items:center;gap:10px;margin:0;font-size:20px;font-weight:600}.question__prompt,.question__ask{margin:10px 0 0}.question__ask{font-weight:600}.question__options{display:flex;flex-direction:column;gap:10px;margin-top:16px}.question__options--row{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}.option{display:flex;align-items:center;gap:12px;width:100%;min-height:54px;padding:10px 16px;border:2px solid var(--line-strong);border-radius:16px;background:#fff;color:var(--ink);font-size:16px;text-align:right;cursor:pointer;transition:border-color .15s,background .15s}.option:hover{border-color:#c9bdf0}.option__key{flex:none;display:flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;background:#f3effc;color:var(--purple-deep);font-weight:700;font-size:14px}.option__text{flex:1}.option--selected{border-color:var(--purple);background:var(--lavender)}.option--selected .option__key{background:var(--purple);color:#fff}.option--right{border-color:var(--green);background:var(--green-bg);color:var(--green-ink)}.option--right .option__key{background:var(--green);color:#fff}.option--wrong{border-color:var(--red);background:var(--red-bg);color:var(--red-ink)}.option--wrong .option__key{background:var(--red);color:#fff}.question__check{margin-top:14px;min-height:46px;padding:0 26px;font-size:16px}.feedback{display:flex;gap:10px;align-items:flex-start;margin:16px 0 0;padding:14px 16px;border-radius:16px;font-size:16px}.feedback svg{flex:none;margin-top:4px}.feedback--ok{background:var(--green-bg);color:var(--green-ink)}.feedback--bad{background:var(--red-bg);color:var(--red-ink)}.question__note{margin:12px 0 0;padding:14px 16px;border-radius:16px;background:var(--page);border-right:4px solid var(--purple);font-size:16px}.collapsible{margin-top:22px;border-radius:22px;background:#fff;border:1px solid var(--line);box-shadow:0 10px 24px #4a22a80f;overflow:hidden}.collapsible__head{display:flex;align-items:center;gap:12px;width:100%;min-height:60px;padding:12px 20px;border:0;background:transparent;font-size:17px;font-weight:600;color:var(--ink);text-align:right;cursor:pointer}.collapsible__mark{flex:none;display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;background:var(--lavender);color:var(--purple);font-weight:700}.collapsible__title{flex:1}.collapsible__hint{font-size:14px;color:var(--purple)}.collapsible__chev{display:flex;transition:transform .25s}.collapsible__chev.is-open{transform:rotate(180deg)}.collapsible__body{display:flex;flex-wrap:wrap;align-items:center;gap:20px;padding:4px 20px 22px;border-top:1px solid #f0ecf9}.collapsible__text{flex:1 1 300px}.collapsible__img{flex:0 1 260px;border-radius:16px;margin-top:16px}.definitions{position:relative;overflow:hidden;margin-top:22px;padding:26px 28px;border-radius:24px;background:var(--purple);color:#fff}.definitions__intro{position:relative;margin:0;font-size:18px;font-weight:600}.definitions__list{position:relative;display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;margin:16px 0 0;padding:0;list-style:none}.definitions__item{padding:18px 20px;border-radius:18px;background:#fff;color:var(--ink)}.definitions__title{display:flex;align-items:center;gap:10px;margin:0;font-size:18px;font-weight:700}.definitions__num{flex:none;display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;background:var(--amber)}.definitions__text{margin:8px 0 0;font-size:16px}.dictionary{position:relative;max-width:520px;margin-top:14px;padding:22px 26px 22px 70px;border-radius:6px 18px 18px 6px;background:#fffbf2;border:1px solid #eadfc6;border-right:10px solid var(--purple);box-shadow:0 12px 26px #4a22a81a;font-family:var(--font-serif)}.dictionary__label{margin:0 0 10px;font-family:var(--font);font-size:12px;font-weight:700;color:#8a7448}.dictionary dl{margin:0}.dictionary__entry+.dictionary__entry{margin-top:14px;padding-top:14px;border-top:1px dashed #e2d6b8}.dictionary dt{font-size:26px;font-weight:700}.dictionary dd{margin:2px 0 0;font-size:18px;color:var(--muted-2)}.dictionary__ref{font-weight:700;color:var(--purple-deep);border-bottom:2px solid var(--marker)}.dictionary__loop{position:absolute;left:16px;top:50%;margin-top:-22px;animation:spin 6s linear infinite}@keyframes spin{to{transform:rotate(-360deg)}}.media-row{display:flex;flex-wrap:wrap;align-items:center;gap:28px;margin-top:34px}.media-row__text{flex:1 1 320px;min-width:0}.media-row__text h3{margin:0;font-size:22px;font-weight:600}.media-row__text p{margin:8px 0 0}.media-row__img{flex:0 1 240px;border-radius:20px;box-shadow:0 14px 30px #4a22a824}.quote{margin:10px 0 0;padding:18px 22px;border-radius:18px;background:#fff;border-right:5px solid var(--amber);box-shadow:0 10px 24px #4a22a80f;font-size:17px}.topbar{position:sticky;top:0;z-index:40;overflow:hidden;background:var(--purple);color:#fff;box-shadow:0 6px 20px #4a22a82e}.topbar__inner{position:relative;display:flex;align-items:center;justify-content:space-between;gap:16px;height:var(--topbar-h);padding:0 20px}.topbar__start{display:flex;align-items:center;gap:14px;min-width:0}.topbar__toc-btn{display:none;align-items:center;justify-content:center;width:44px;height:44px;border:0;border-radius:12px;background:#ffffff24;cursor:pointer}.topbar__back{display:inline-flex;align-items:center;gap:6px;min-height:44px;font-weight:600;font-size:15px;color:#fff;text-decoration:none;white-space:nowrap}.topbar__sep{width:1px;height:24px;background:#ffffff4d}.topbar__crumb{font-size:15px;color:#e2d8ff;white-space:nowrap}.topbar__progress{flex:0 1 340px;display:flex;align-items:center;gap:12px}.topbar__progress-label{font-size:14px;color:#e2d8ff;white-space:nowrap}.topbar__track{flex:1;height:8px;border-radius:999px;background:#ffffff40;overflow:hidden}.topbar__fill{height:100%;border-radius:999px;background:#fff;transition:width .4s}.topbar__pct{min-width:3em;font-size:14px;font-weight:700}.topbar__assistant{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 18px;border:0;border-radius:999px;background:#fff;color:var(--purple-deep);font-weight:700;font-size:15px;cursor:pointer;box-shadow:0 6px 16px #1e0a5033}.lesson-layout{display:flex;align-items:flex-start}.lesson-main{position:relative;flex:1;min-width:0;padding:36px 32px 80px}.lesson-hex{position:absolute;top:0;left:0;width:520px;max-width:100%;height:360px;pointer-events:none}.lesson-article{position:relative;max-width:820px;margin:0 auto}.lesson-eyebrow{margin:0;font-size:15px;font-weight:700;color:var(--purple)}.lesson-title{margin:4px 0 0;font-size:40px;font-weight:600;line-height:1.2}.lesson-footer{display:flex;flex-wrap:wrap;justify-content:space-between;gap:14px;margin-top:48px}.nav-card{display:flex;flex-direction:column;min-width:220px;padding:14px 20px;border-radius:18px;text-decoration:none}.nav-card small{font-size:13px}.nav-card strong{font-weight:600}.nav-card--back{background:#fff;color:var(--ink);box-shadow:0 8px 20px #4a22a80f}.nav-card--back small{color:var(--muted)}.nav-card--next{background:var(--purple);color:#fff;text-align:left}.nav-card--next small{color:#e2d8ff}.nav-card--soon{background:#ece7f8;color:var(--muted-2);text-align:left}.backdrop{position:fixed;inset:var(--topbar-h) 0 0 0;z-index:25;border:0;background:#1e1b2e59}.sidebar{flex:none;width:230px;position:sticky;top:var(--topbar-h);height:calc(100vh - var(--topbar-h));display:flex;flex-direction:column;overflow-y:auto;background:#fff;border-left:1px solid var(--line);box-shadow:-8px 0 24px #4a22a80d}.sidebar__card{position:relative;overflow:hidden;margin:12px 10px 4px;padding:16px 14px 14px;border-radius:18px;background:var(--purple);color:#fff;box-shadow:0 12px 26px #6236d147,inset 0 0 0 1px #ffffff24}.sidebar__eyebrow,.sidebar__chapter,.sidebar__progress{position:relative}.sidebar__eyebrow{margin:0;font-size:12px;font-weight:700;color:#ffffffd9}.sidebar__chapter{margin:0;font-size:20px;font-weight:600}.sidebar__progress{display:flex;align-items:center;gap:8px;margin-top:10px;font-size:12px;font-weight:600}.sidebar__track{flex:1;height:5px;border-radius:999px;background:#ffffff47;overflow:hidden}.sidebar__track>span{display:block;height:100%;background:#fff;transition:width .4s}.timeline{flex:1;list-style:none;margin:0;padding:12px 10px 14px 8px;font-size:14px}.timeline__link{display:flex;align-items:center;gap:12px;min-height:46px;padding:6px;border-radius:14px;color:var(--muted);text-decoration:none}.timeline__link.is-current{background:#f3eefe;color:var(--purple-ink);font-weight:700}.timeline__node{flex:none;display:flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;background:#fff;border:2px solid #c8b8f5}.timeline__node.is-current{border:0;background:var(--purple);box-shadow:0 0 0 4px #fff,0 0 0 6px #e9d5ff}.timeline__node.is-done{border:0;background:var(--green)}.timeline__sections{list-style:none;margin:6px 0 4px;padding:0 30px 0 0;font-size:13px}.timeline__sections button{display:flex;align-items:center;gap:8px;width:100%;min-height:34px;padding:0 10px;border:0;border-radius:10px;background:transparent;color:var(--ink);font-size:inherit;text-align:right;cursor:pointer}.timeline__sections button:hover,.timeline__link:not(.is-current):hover{background:var(--page)}.timeline__dot{width:6px;height:6px;border-radius:50%;background:var(--purple)}.sidebar__all{display:flex;align-items:center;justify-content:center;margin:0 10px 14px;min-height:44px;border-radius:14px;background:#f3eefe;font-size:14px;font-weight:600;text-decoration:none;color:var(--purple-deep)}.assistant{flex:none;width:270px;position:sticky;top:var(--topbar-h);height:calc(100vh - var(--topbar-h));display:flex;flex-direction:column;background:#fff;border-right:1px solid var(--line);box-shadow:8px 0 24px #4a22a80d}.assistant[hidden]{display:none}.assistant__head{position:relative;overflow:hidden;display:flex;align-items:center;gap:10px;padding:14px;background:var(--purple-bright);color:#fff}.assistant__avatar{position:relative;display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:#fff;clip-path:polygon(25% 2%,75% 2%,100% 50%,75% 98%,25% 98%,0 50%)}.assistant__titles{position:relative}.assistant__name{margin:0;font-weight:700;font-size:16px}.assistant__tag{margin:0;font-size:13px;color:#f1ecff}.assistant__messages{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:10px;padding:14px;font-size:14px;line-height:1.55}.bubble{margin:0;max-width:88%;padding:10px 14px}.bubble--bot{align-self:flex-start;border-radius:16px 16px 16px 4px;background:#f3effc}.bubble--me{align-self:flex-end;border-radius:16px 16px 4px;background:var(--purple);color:#fff}.assistant__foot{padding:10px 14px 14px;border-top:1px solid #f0ecf9}.assistant__chips{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}.chip{min-height:34px;padding:0 12px;border:1px solid var(--line-strong);border-radius:999px;background:#fff;color:var(--purple-deep);font-size:13px;font-weight:600;cursor:pointer}.assistant__form{display:flex;gap:8px}.assistant__form input{flex:1;min-width:0;min-height:44px;padding:0 14px;border:1.5px solid var(--line-strong);border-radius:999px;font:inherit;font-size:15px;color:var(--ink)}.assistant__send{flex:none;display:flex;align-items:center;justify-content:center;width:44px;height:44px;border:0;border-radius:50%;background:var(--purple);cursor:pointer}@media (max-width: 1199px){.assistant{position:fixed;left:0;top:var(--topbar-h);bottom:0;z-index:30;width:min(340px,92vw);height:auto;box-shadow:12px 0 40px #1e0a5040}}@media (max-width: 899px){.topbar__toc-btn{display:inline-flex}.topbar__progress-label,.topbar__sep,.topbar__crumb{display:none}.sidebar{position:fixed;right:0;top:var(--topbar-h);bottom:0;z-index:30;width:min(300px,88vw);height:auto;transform:translate(105%);transition:transform .25s ease}.sidebar.is-open{transform:none;box-shadow:-12px 0 40px #1e0a5040}.lesson-main{padding:24px 18px 64px}.lesson-title{font-size:32px}}@media (max-width: 560px){.topbar__inner{padding:0 12px;gap:10px}.topbar__back{font-size:0}.topbar__assistant-label{display:none}.topbar__assistant{padding:0 12px}}:root{--purple: #6236d1;--purple-bright: #7b4ae2;--purple-deep: #4a22a8;--purple-ink: #3b1f8f;--lavender: #f3eefe;--lavender-2: #ede6fc;--page: #f6f3fd;--line: #e8e2f7;--line-strong: #e3dcf5;--marker: #cdb8fa;--ink: #1e1b2e;--muted: #5e5a72;--muted-2: #4e4964;--amber: #ffc857;--green: #1f9d6b;--green-bg: #e3f5ec;--green-ink: #0f5c3e;--red: #c2410c;--red-bg: #fdece4;--red-ink: #7c2d12;--font: "Rubik", "Segoe UI", Arial, sans-serif;--font-mono: "JetBrains Mono", Consolas, monospace;--font-serif: "Frank Ruhl Libre", "David Libre", serif;--radius-card: 26px;--shadow-card: 0 14px 32px rgba(74, 34, 168, .08);--topbar-h: 64px}*,*:before,*:after{box-sizing:border-box}html{scroll-padding-top:calc(var(--topbar-h) + 16px)}body{margin:0;background:var(--page);color:var(--ink);font-family:var(--font);font-size:17px;line-height:1.65}a{color:var(--purple)}button{font-family:inherit}:where(a,button,input,textarea,summary):focus-visible{outline:3px solid var(--amber);outline-offset:3px}img{max-width:100%;height:auto}code{font-family:var(--font-mono);background:#f3effc;padding:1px 6px;border-radius:6px;font-size:.92em}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.pill-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 20px;border:0;border-radius:999px;font-weight:700;font-size:15px;cursor:pointer;text-decoration:none}.pill-btn--primary{background:var(--purple);color:#fff}.pill-btn--soft{background:var(--lavender);color:var(--purple-deep)}@keyframes reveal{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.reveal{animation:reveal .4s ease-out}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
