.shell__logo{width:30px;height:30px;box-shadow:var(--finish-primary);transition:transform var(--d-snappy) var(--spring-snappy);border-radius:9px;flex:none;margin-right:10px}.shell__brand:hover .shell__logo{transform:rotate(-8deg)scale(1.06)}.shell__brand:active .shell__logo{transition-duration:90ms;transform:scale(.9)}.avatar--sm{--size:32px}.shell__me{align-items:center;gap:4px;display:flex}.shell__who{min-width:0;min-height:48px;color:var(--text-strong);transition:background-color var(--d-fast);border-radius:12px;flex:1;align-items:center;gap:10px;padding:4px 8px;display:flex}@media (hover:hover) and (pointer:fine){.shell__who:hover{background:var(--bg-tint)}}.shell__who[aria-current=page]{background:var(--accent-tint)}.shell__whotext{flex-direction:column;min-width:0;display:flex}.shell__whotext b{font:600 14px/18px var(--font);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.shell__whotext span{font:var(--type-footnote);color:var(--text-subtle);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.shell__auth{flex-direction:column;gap:8px;display:flex}.shell__link .ic{transition:color var(--d-fast), transform var(--d-snappy) var(--spring-snappy)}@media (hover:hover) and (pointer:fine){.shell__link:hover .ic{transform:scale(1.12)}}.shell__link:active .ic{transform:scale(.88)}.page-enter{animation:page-in .42s var(--ease-enter) both}@keyframes page-in{0%{opacity:0;filter:blur(6px);transform:translateY(10px)}to{opacity:1;filter:none;transform:none}}.stagger>*{animation:rise-in .48s var(--ease-enter) both;animation-delay:calc(min(var(--i,0), 10) * 35ms)}@keyframes rise-in{0%{opacity:0;transform:translateY(12px)scale(.985)}to{opacity:1;transform:none}}.pop-in{animation:dds-pop-in var(--d-snappy) var(--spring-snappy) both}.is-shaking{animation:dds-shake .36s var(--ease-standard)}.burst{pointer-events:none;z-index:2;width:0;height:0;position:absolute;top:50%;left:50%}.burst i{background:var(--success);opacity:0;width:6px;height:6px;animation:burst .56s var(--ease-enter) forwards;border-radius:50%;position:absolute;top:-3px;left:-3px}.burst--accent i{background:var(--accent)}.burst i:nth-child(2n){width:4px;height:4px;top:-2px;left:-2px}@keyframes burst{0%{opacity:1;transform:rotate(var(--a)) translateY(0) scale(1)}to{opacity:0;transform:rotate(var(--a)) translateY(-34px) scale(.3)}}.confetti{pointer-events:none;z-index:90;position:fixed;inset:0;overflow:hidden}.confetti i{opacity:0;border-radius:2px;height:10px;animation:1.6s cubic-bezier(.2,.7,.3,1) forwards confetti;position:absolute;top:42%;left:50%}@keyframes confetti{0%{opacity:1;transform:translate(0)rotate(0)}45%{opacity:1;transform:translate(calc(var(--x) * .8), var(--y)) rotate(calc(var(--r) * .5))}to{opacity:0;transform:translate(var(--x), calc(var(--y) + 70vh)) rotate(var(--r))}}.roll__vis{align-items:flex-start;display:inline-flex}.roll__col{flex:none}.roll__col span{flex:none;display:block}.ring--success .ring__val{stroke:var(--success)}.ring--warning .ring__val{stroke:var(--warning)}.ring .ring__val{transition:stroke-dashoffset 1.1s var(--ease-inout)}@media (prefers-reduced-motion:reduce){.page-enter,.stagger>*,.pop-in{animation:.12s linear both fade-only}.burst,.confetti{display:none}.is-shaking{animation:none}}@keyframes fade-only{0%{opacity:0}to{opacity:1}}.phead{flex-direction:column;gap:14px;max-width:760px;margin-bottom:40px;display:flex}.phead__kicker{font:var(--type-footnote);color:var(--accent-text);align-items:center;gap:8px;font-weight:500;display:inline-flex}.phead__kicker .ic{font-size:18px}.phead h1{font:var(--type-display);letter-spacing:var(--tracking-display);color:var(--text-strong);text-wrap:balance}.phead__lede{font:400 19px/29px var(--font);letter-spacing:-.008em;color:var(--text-subtle);max-width:var(--measure);text-wrap:pretty}@media (max-width:960px){.phead h1{font-size:44px;line-height:48px}}@media (max-width:600px){.phead{margin-bottom:28px}.phead h1{letter-spacing:-.03em;font-size:34px;line-height:39px}.phead__lede{font:400 17px/26px var(--font)}}.row{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.row--tight{gap:8px}.grow{flex:auto;min-width:0}.stack{flex-direction:column;gap:16px;display:flex}.block-gap{margin-top:56px}.foot-note{font:var(--type-footnote);color:var(--text-subtle)}.prose>.formula,.prose>.examples,.prose>.callout,.prose>.dialog-ex,.prose>.summary,.prose>.keyidea,.prose>.quiz,.prose>.table-box{width:min(860px,100%);max-width:none}.prose mark{background:color-mix(in srgb, var(--warning) 16%, transparent);color:var(--text-strong);-webkit-box-decoration-break:clone;box-decoration-break:clone;border-radius:4px;padding:0 3px}.prose em[lang=en]{color:var(--text-strong);font-style:italic}.formula{border-radius:var(--r-lg);background:var(--accent-tint);padding:22px 24px;position:relative;overflow:hidden}.formula__label{font:var(--type-caption);letter-spacing:var(--tracking-caption);color:var(--accent-text);align-items:center;gap:6px;display:flex}.formula__label .ic{font-size:16px}.formula__text{font:600 19px/28px var(--mono);letter-spacing:-.01em;color:var(--text-strong);overflow-wrap:anywhere;margin-top:8px}.formula__note{font:400 15px/23px var(--font);color:var(--text-default);margin-top:6px}@media (max-width:600px){.formula{padding:18px}.formula__text{font-size:16px;line-height:24px}}.examples{flex-direction:column;gap:8px;display:flex}.ex{border-radius:var(--r-md);background:var(--bg-fill);grid-template-columns:28px minmax(0,1fr);gap:12px;padding:14px 16px;display:grid}.ex__mark{border-radius:50%;place-items:center;width:26px;height:26px;margin-top:1px;display:grid}.ex__mark .ic{font-size:16px;font-family:var(--font-icons-fill)}.ex--ok .ex__mark{background:var(--success-tint);color:var(--success-text)}.ex--bad .ex__mark{background:var(--danger-tint);color:var(--danger-text)}.ex__en{font:500 16px/25px var(--font);color:var(--text-strong)}.ex--bad .ex__en{color:var(--text-subtle);font-weight:400}.ex__note{font:400 14px/21px var(--font);color:var(--text-subtle);margin-top:2px}.callout{border-radius:var(--r-lg);grid-template-columns:36px minmax(0,1fr);gap:14px;padding:18px 20px;display:grid}.callout__icon{color:#fff;width:36px;height:36px;box-shadow:var(--finish-primary);border-radius:11px;place-items:center;display:grid}.callout__icon .ic{font-size:20px;font-family:var(--font-icons-fill)}.callout--trap{background:var(--danger-tint)}.callout--trap .callout__icon{background:var(--tile-red)}.callout--tip{background:var(--success-tint)}.callout--tip .callout__icon{background:var(--tile-green)}.callout__title{font:600 15px/20px var(--font);color:var(--text-strong)}.callout__body{font:400 15.5px/25px var(--font);color:var(--text-default);margin-top:4px}@media (max-width:600px){.callout{grid-template-columns:minmax(0,1fr);padding:16px}}.dialog-ex{border-radius:var(--r-lg);background:var(--bg-fill);flex-direction:column;gap:10px;padding:18px 20px;display:flex}.dialog-ex__line{grid-template-columns:32px minmax(0,1fr);align-items:start;gap:10px;display:grid}.dialog-ex__who{width:32px;height:32px;font:600 12px/1 var(--font);background:var(--bg-base);color:var(--text-subtle);box-shadow:inset 0 0 0 1px var(--line);border-radius:50%;place-items:center;display:grid}.dialog-ex__line--W .dialog-ex__who{background:var(--accent-tint);color:var(--accent-text);box-shadow:none}.dialog-ex__line--N .dialog-ex__who{background:var(--bg-recessed)}.dialog-ex__text{background:var(--bg-base);font:400 15.5px/24px var(--font);color:var(--text-strong);border-radius:4px 16px 16px;place-self:start;padding:8px 14px}.summary{border-radius:var(--r-xl);background:var(--bg-fill);flex-direction:column;gap:14px;padding:24px;display:flex}.summary__head{font:var(--type-title-3);letter-spacing:var(--tracking-title-3);color:var(--text-strong);align-items:center;gap:8px;display:flex}.summary__head .ic{color:var(--success-text);font-family:var(--font-icons-fill)}.summary ol{counter-reset:s;flex-direction:column;gap:10px;padding:0;list-style:none;display:flex}.summary li{font:400 15.5px/24px var(--font);color:var(--text-default);counter-increment:s;padding-left:38px;position:relative}.summary li:before{content:counter(s);background:var(--bg-base);width:26px;height:26px;font:600 13px/1 var(--font);color:var(--text-strong);box-shadow:inset 0 0 0 1px var(--line);font-variant-numeric:tabular-nums;border-radius:8px;place-items:center;display:grid;position:absolute;top:-1px;left:0}.mini-quiz{border-radius:var(--r-xl);background:var(--bg-fill);flex-direction:column;gap:14px;padding:22px 24px;display:flex}.mini-quiz__label{font:var(--type-caption);letter-spacing:var(--tracking-caption);color:var(--accent-text);align-items:center;gap:6px;display:flex}.mini-quiz__label .ic{font-size:16px}.mini-quiz__q{font:500 17px/26px var(--font);letter-spacing:-.01em;color:var(--text-strong)}.mini-quiz__opts{flex-direction:column;gap:8px;display:flex}.opt{border-radius:var(--r-md);background:var(--bg-base);width:100%;min-height:52px;box-shadow:inset 0 0 0 1px var(--line-strong);text-align:left;font:400 15.5px/23px var(--font);color:var(--text-strong);transition:box-shadow var(--d-fast) var(--ease-standard), background-color var(--d-fast), transform var(--d-snappy) var(--spring-snappy);align-items:center;gap:12px;padding:12px 16px;display:flex;position:relative}@media (hover:hover) and (pointer:fine){.opt:not([aria-disabled=true]):hover{box-shadow:inset 0 0 0 1px var(--text-subtle)}}.opt:not([aria-disabled=true]):active{transition-duration:90ms;transform:scale(.985)}.opt[aria-disabled=true]{cursor:default}.opt__key{background:var(--bg-recessed);width:28px;height:28px;font:600 13px/1 var(--font);color:var(--text-subtle);transition:background-color var(--d-fast), color var(--d-fast), transform var(--d-snappy) var(--spring-snappy);border-radius:8px;flex:none;place-items:center;display:grid}.opt__text{flex:1;min-width:0}.opt.is-picked{box-shadow:inset 0 0 0 2px var(--accent);background:var(--accent-tint)}.opt.is-picked .opt__key{background:var(--accent);color:#fff;box-shadow:var(--finish-primary)}.opt.is-right{box-shadow:inset 0 0 0 2px var(--success);background:var(--success-tint)}.opt.is-right .opt__key{background:var(--success);color:#fff;animation:dds-pop var(--d-snappy) var(--spring-snappy)}.opt.is-wrong{box-shadow:inset 0 0 0 2px var(--danger);background:var(--danger-tint)}.opt.is-wrong .opt__key{background:var(--danger);color:#fff}.opt.is-dim{opacity:.6}.opt__verdict{font:600 13px/1 var(--font);animation:dds-blur-in var(--d-standard) var(--ease-enter);flex:none;align-items:center;gap:4px;display:inline-flex}.opt.is-right .opt__verdict{color:var(--success-text)}.opt.is-wrong .opt__verdict{color:var(--danger-text)}.opt__verdict .ic{font-size:18px;font-family:var(--font-icons-fill)}.feedback{border-radius:var(--r-md);background:var(--bg-base);font:400 15.5px/25px var(--font);color:var(--text-default);animation:dds-blur-in var(--d-standard) var(--ease-enter);padding:16px 18px}.feedback__title{font:600 15px/20px var(--font);align-items:center;gap:6px;margin-bottom:4px;display:flex}.feedback__title .ic{font-family:var(--font-icons-fill);font-size:19px}.feedback--ok .feedback__title{color:var(--success-text)}.feedback--bad .feedback__title{color:var(--danger-text)}@media (max-width:600px){.mini-quiz{padding:18px}}.lhead{box-shadow:0 1px 0 var(--hairline);flex-direction:column;gap:18px;margin-bottom:44px;padding-bottom:36px;display:flex}.lhead__crumb{font:var(--type-footnote);color:var(--text-subtle);flex-wrap:wrap;align-items:center;gap:6px;display:flex}.lhead__crumb a{color:var(--accent-text);font-weight:500}.lhead__crumb .ic{color:var(--text-faint);font-size:16px}.lhead h1{font:var(--type-display);letter-spacing:var(--tracking-display);color:var(--text-strong);text-wrap:balance;max-width:16ch}.lhead__lede{font:400 19px/29px var(--font);letter-spacing:-.008em;color:var(--text-subtle);max-width:var(--measure)}.lhead__meta{font:var(--type-footnote);color:var(--text-subtle);flex-wrap:wrap;align-items:center;gap:8px 16px;display:flex}.lhead__meta>span{align-items:center;gap:6px;display:inline-flex}.lhead__meta .ic{color:var(--text-muted);font-size:16px}@media (max-width:960px){.lhead h1{font-size:44px;line-height:48px}}@media (max-width:600px){.lhead h1{letter-spacing:-.03em;font-size:34px;line-height:39px}.lhead__lede{font:400 17px/26px var(--font)}.lhead{margin-bottom:32px;padding-bottom:28px}}.read-progress{z-index:70;transform-origin:0;background:var(--accent);pointer-events:none;height:3px;position:fixed;top:0;left:0;right:0;transform:scaleX(0)}@media (max-width:960px){.read-progress{top:56px}}.toc a{color:var(--text-subtle);transition:color var(--d-fast);padding:6px 0 6px 14px;display:block}.toc a[aria-current=true]{color:var(--text-strong);font-weight:500}.toc a:hover{color:var(--text-strong)}.cta-card{border-radius:var(--r-xl);background:var(--accent-tint);flex-wrap:wrap;align-items:center;gap:16px 20px;max-width:860px;margin-top:56px;padding:24px;display:flex}.cta-card__text{flex-direction:column;flex:280px;gap:4px;display:flex}.cta-card__title{font:var(--type-title-3);letter-spacing:var(--tracking-title-3);color:var(--text-strong)}.cta-card__body{font:400 15px/23px var(--font);color:var(--text-default)}.sec-tabs{max-width:560px;margin-bottom:28px}.topic-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;display:grid}.topic{border-radius:var(--r-lg);background:var(--bg-fill);color:var(--text-strong);min-height:156px;transition:transform var(--d-snappy) var(--spring-snappy), background-color var(--d-fast);flex-direction:column;gap:10px;padding:18px 20px;display:flex;position:relative}@media (hover:hover) and (pointer:fine){.topic:hover{background:var(--bg-tint-strong)}.topic:hover .topic__go{color:var(--accent-text);transform:translate(3px)}}.topic:active{transition-duration:90ms;transform:scale(.985)}.topic__top{align-items:center;gap:10px;display:flex}.topic__n{background:var(--bg-base);width:28px;height:28px;font:600 13px/1 var(--font);font-variant-numeric:tabular-nums;color:var(--text-subtle);box-shadow:inset 0 0 0 1px var(--line);border-radius:8px;place-items:center;display:grid}.topic__badge{margin-left:auto}.topic__title{font:var(--type-headline);letter-spacing:var(--tracking-headline)}.topic__sub{font:400 14px/20px var(--font);color:var(--text-subtle);-webkit-line-clamp:3;-webkit-box-orient:vertical;flex:1;display:-webkit-box;overflow:hidden}.topic__foot{font:var(--type-footnote);color:var(--text-muted);align-items:center;gap:12px;display:flex}.topic__go{color:var(--text-faint);transition:transform var(--d-snappy) var(--spring-snappy), color var(--d-fast);margin-left:auto}.auth{grid-template-columns:minmax(0,1fr) minmax(0,440px);align-items:start;gap:56px;max-width:1040px;margin:0 auto;display:grid}.auth__aside{flex-direction:column;gap:20px;padding-top:12px;display:flex}.auth__aside h1{font:var(--type-display);letter-spacing:var(--tracking-display);color:var(--text-strong);text-wrap:balance;max-width:13ch}.auth__aside p{font:400 18px/28px var(--font);color:var(--text-subtle);max-width:44ch}.auth__perks{flex-direction:column;gap:12px;display:flex}.auth__perk{font:400 15px/22px var(--font);color:var(--text-default);grid-template-columns:36px minmax(0,1fr);align-items:start;gap:12px;display:grid}.auth__perk b{color:var(--text-strong);font-weight:600;display:block}.auth__perk .callout__icon{border-radius:10px;width:32px;height:32px}.auth__perk .callout__icon .ic{font-size:18px}.auth__card{border-radius:var(--r-xl);background:var(--bg-fill);flex-direction:column;gap:20px;padding:28px;display:flex}.auth__title{font:var(--type-title-2);letter-spacing:var(--tracking-title-2);color:var(--text-strong)}.auth__sub{font:400 15px/22px var(--font);color:var(--text-subtle);margin-top:4px}.auth__form{flex-direction:column;gap:18px;display:flex}.auth__alt{font:var(--type-subhead);color:var(--text-subtle);text-align:center}.auth__alt a{font-weight:500}.auth .control{background:var(--bg-base);height:48px}.auth__step{animation:step-in .42s var(--ease-enter) both}.auth__step.is-back{animation-name:step-in-back}@keyframes step-in{0%{opacity:0;filter:blur(4px);transform:translate(18px)}to{opacity:1;filter:none;transform:none}}@keyframes step-in-back{0%{opacity:0;filter:blur(4px);transform:translate(-18px)}to{opacity:1;filter:none;transform:none}}.strength{flex-direction:column;gap:6px;display:flex}.strength__bars{grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;display:grid}.strength__bars i{background:var(--bg-track);transform-origin:0;height:4px;transition:background-color var(--d-standard) var(--ease-standard);border-radius:2px}.strength__bars i.on{animation:dds-stretch .34s var(--spring-snappy)}.strength[data-level="1"] i.on{background:var(--danger)}.strength[data-level="2"] i.on{background:var(--warning)}.strength[data-level="3"] i.on,.strength[data-level="4"] i.on{background:var(--success)}.strength__label{font:var(--type-footnote);color:var(--text-subtle);justify-content:space-between;gap:8px;display:flex}.code-box{border-radius:var(--r-lg);background:var(--bg-base);box-shadow:inset 0 0 0 1px var(--line);text-align:center;flex-direction:column;align-items:center;gap:12px;padding:20px;display:flex;position:relative}.code-box__code{font:600 22px/30px var(--mono);letter-spacing:.06em;color:var(--text-strong);-webkit-user-select:all;user-select:all;overflow-wrap:anywhere}.goal-score{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.goal-score .rcard{flex-direction:column;align-items:flex-start;gap:2px;padding:12px}@media (max-width:1180px){.auth{grid-template-columns:minmax(0,1fr);gap:28px;max-width:560px}.auth__aside{gap:12px;padding-top:0}.auth__aside h1{max-width:none;font-size:40px;line-height:44px}.auth__perks{display:none}}@media (max-width:600px){.auth__card{padding:20px}.auth__aside h1{letter-spacing:-.03em;font-size:32px;line-height:37px}.auth__aside p{font:400 16px/25px var(--font)}.goal-score{grid-template-columns:repeat(2,minmax(0,1fr))}}.dash-hero{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:16px;display:grid}.dash-hero__main{border-radius:var(--r-xl);background:var(--bg-fill);flex-direction:column;justify-content:space-between;gap:16px;min-height:280px;padding:32px;display:flex}.dash-hero__hello{font:var(--type-subhead);color:var(--accent-text);font-weight:500}.dash-hero__big{font:600 64px/66px var(--font);letter-spacing:-.04em;color:var(--text-strong)}.dash-hero__big small{font:600 28px/32px var(--font);letter-spacing:-.02em;color:var(--text-subtle);margin-left:6px}.dash-hero__line{font:400 17px/26px var(--font);color:var(--text-subtle);max-width:46ch}.dash-tiles{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.dash-tiles .tile{min-height:134px;transition:transform var(--d-snappy) var(--spring-snappy)}.dash-tiles a.tile:active{transition-duration:90ms;transform:scale(.97)}@media (hover:hover) and (pointer:fine){.dash-tiles a.tile:hover .tile__icon{transform:rotate(-8deg)scale(1.08)}}.dash-tiles .tile__icon{transition:transform var(--d-smooth) var(--spring-smooth)}.tile .roll{height:1.15em;line-height:1.15em}@media (max-width:960px){.dash-hero{grid-template-columns:minmax(0,1fr)}}@media (max-width:600px){.dash-hero__main{min-height:0;padding:22px}.dash-hero__big{font-size:48px;line-height:52px}}.plan{flex-direction:column;gap:0;display:flex}.plan__item{grid-template-columns:36px minmax(0,1fr) auto;align-items:start;gap:14px;padding:14px 0;display:grid;position:relative}.plan__item+.plan__item{box-shadow:0 -1px 0 var(--hairline)}.plan__day{background:var(--bg-fill);width:36px;height:36px;font:600 14px/1 var(--font);color:var(--text-subtle);font-variant-numeric:tabular-nums;border-radius:11px;place-items:center;display:grid}.plan__item.is-today .plan__day{background:var(--accent);color:#fff;box-shadow:var(--finish-primary)}.plan__title{font:var(--type-headline);letter-spacing:var(--tracking-headline);color:var(--text-strong)}.plan__detail{font:400 14.5px/22px var(--font);color:var(--text-subtle);margin-top:2px}.section-bars{flex-direction:column;gap:18px;display:flex}.sbar__head{font:var(--type-subhead);color:var(--text-default);justify-content:space-between;gap:8px;margin-bottom:8px;display:flex}.sbar__head b{color:var(--text-strong);font-weight:600}.sbar__track{background:var(--bg-track);border-radius:5px;height:10px;overflow:hidden}.sbar__fill{border-radius:inherit;background:var(--accent);transform-origin:0;height:100%;transition:transform 1.1s var(--ease-inout);transform:scaleX(0)}.is-in .sbar__fill{transform:scaleX(var(--v,0))}.two-col{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.panel{border-radius:var(--r-xl);background:var(--bg-fill);flex-direction:column;gap:16px;min-width:0;padding:24px;display:flex}.panel__title{font:var(--type-title-3);letter-spacing:var(--tracking-title-3);color:var(--text-strong)}.panel__sub{font:400 14.5px/22px var(--font);color:var(--text-subtle);margin-top:-10px}.panel .list{background:var(--bg-base);box-shadow:none}@media (max-width:960px){.two-col{grid-template-columns:minmax(0,1fr)}}@media (max-width:600px){.panel{padding:18px}}.word-list{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px;display:grid}.word{border-radius:var(--r-lg);background:var(--bg-fill);flex-direction:column;gap:6px;padding:18px 20px;display:flex}.word__head{flex-wrap:wrap;align-items:baseline;gap:4px 10px;display:flex}.word__w{font:600 19px/24px var(--font);letter-spacing:-.015em;color:var(--text-strong)}.word__pos{font:var(--type-caption);letter-spacing:var(--tracking-caption);color:var(--text-muted)}.word__m{font:400 15.5px/23px var(--font);color:var(--text-default)}.word__syn{flex-wrap:wrap;gap:6px;margin-top:2px;display:flex}.word__ex{font:italic 400 14.5px/22px var(--font);color:var(--text-subtle)}.word__note{font:400 13.5px/20px var(--font);color:var(--text-subtle);box-shadow:0 -1px 0 var(--hairline);margin-top:2px;padding-top:8px}.word__known{align-self:flex-start;margin-top:4px}.inline-icon{vertical-align:-.15em;font-size:1.1em}.text-ok{color:var(--success-text)}.text-bad{color:var(--danger-text)}.skel-stack{flex-direction:column;gap:12px;display:flex}.gate{text-align:center;flex-direction:column;align-items:center;gap:14px;max-width:560px;margin:48px auto;display:flex}.gate__icon{background:var(--accent);color:#fff;width:64px;height:64px;box-shadow:var(--finish-primary);border-radius:20px;place-items:center;display:grid}.gate__icon .ic{font-size:30px;font-family:var(--font-icons-fill)}.gate__title{font:var(--type-title-1);letter-spacing:var(--tracking-title-1);color:var(--text-strong)}.gate__body{font:400 16px/25px var(--font);color:var(--text-subtle);margin-bottom:8px}.help-swap{animation:dds-blur-in var(--d-standard) var(--ease-enter)}.swap-ic{animation:dds-pop-in var(--d-snappy) var(--spring-snappy);place-items:center;display:grid}.auth .steps{margin-bottom:4px}.auth .check{align-items:flex-start}@media (max-width:420px){.auth .step__label{padding-right:4px;font-size:11.5px}}.account-id{border-radius:var(--r-xl);background:var(--bg-fill);flex-wrap:wrap;align-items:center;gap:16px;padding:20px 24px;display:flex}.account-id__name{font:var(--type-headline);letter-spacing:var(--tracking-headline);color:var(--text-strong)}.account-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}@media (max-width:600px){.account-row{grid-template-columns:minmax(0,1fr)}}.panel .control{background:var(--bg-base)}.saved-tag{font:500 14px/20px var(--font);color:var(--success-text);animation:dds-blur-in var(--d-standard) var(--ease-enter);align-items:center;gap:6px;display:inline-flex}.saved-tag .ic{animation:dds-pop var(--d-snappy) var(--spring-snappy);font-size:18px}.sec-tiles{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.sec-tile{min-height:220px;transition:transform var(--d-snappy) var(--spring-snappy);justify-content:flex-start;gap:10px}.sec-tile:active{transition-duration:90ms;transform:scale(.98)}.sec-tile .tile__icon{transition:transform var(--d-smooth) var(--spring-smooth)}@media (hover:hover) and (pointer:fine){.sec-tile:hover .tile__icon{transform:rotate(-10deg)scale(1.1)}}.sec-tile__title{font:var(--type-title-3);letter-spacing:var(--tracking-title-3);z-index:1;position:relative}.sec-tile__body{font:400 14.5px/22px var(--font);opacity:.95;z-index:1;max-width:32ch;position:relative}@media (max-width:960px){.sec-tiles{grid-template-columns:minmax(0,1fr)}.sec-tile{min-height:0}}.dash-tiles .tile{color:#fff}.plan__title.link{color:var(--text-strong)}.prose .table-box{border-radius:var(--r-lg);box-shadow:inset 0 0 0 1px var(--line);overflow-x:auto}.ltable{border-collapse:collapse;width:100%;min-width:460px;font:400 15px/22px var(--font);color:var(--text-default);text-align:left}.ltable th{font:600 13px/18px var(--font);color:var(--text-strong);background:var(--bg-fill);padding:12px 16px}.ltable td{vertical-align:top;box-shadow:0 -1px 0 var(--hairline);padding:12px 16px}.ltable td:first-child{color:var(--text-strong);font-weight:500}.guide-rest{margin-top:32px}@media (max-width:600px){.guide-rest{margin-top:24px}.topic-grid{gap:12px}}.guide-hero{min-height:240px;transition:transform var(--d-snappy) var(--spring-snappy);justify-content:flex-start;gap:10px;padding:28px}.guide-hero:active{transition-duration:90ms;transform:scale(.99)}.guide-hero__title{font:var(--type-title-1);letter-spacing:var(--tracking-title-1);z-index:1;max-width:22ch;position:relative}.guide-hero__body{font:400 16px/25px var(--font);z-index:1;opacity:.95;max-width:52ch;position:relative}.guide-hero__cta{z-index:1;align-self:flex-start;margin-top:auto;position:relative}.guide-hero .tile__icon{transition:transform var(--d-smooth) var(--spring-smooth);font-size:180px;bottom:-40px;right:-20px}@media (hover:hover) and (pointer:fine){.guide-hero:hover .tile__icon{transform:rotate(-8deg)scale(1.06)}}@media (max-width:600px){.guide-hero{min-height:0;padding:22px}.guide-hero__title{font:var(--type-title-2)}.guide-hero .tile__icon{font-size:120px}}.seg--lg .seg__btn{min-height:40px}.vocab-group{font:var(--type-title-3);letter-spacing:var(--tracking-title-3);color:var(--text-strong);align-items:center;gap:10px;display:flex}.vocab-peek{flex-wrap:wrap;gap:6px;display:flex}.vocab-mode{max-width:360px}.vocab-search{background:var(--bg-base);max-width:480px;height:48px}.word{transition:box-shadow var(--d-standard) var(--ease-standard), background-color var(--d-standard)}.word.is-known{box-shadow:inset 0 0 0 1.5px color-mix(in srgb, var(--success) 55%, transparent)}.deck__word{font:600 34px/40px var(--font);letter-spacing:-.025em}.deck__rate--2{grid-template-columns:repeat(2,minmax(0,1fr))}.deck__card{cursor:pointer;background:0 0;border:0;padding:0;display:block}.card-enter--right{animation:card-in-right .42s var(--ease-enter) both}.card-enter--left{animation:card-in-left .42s var(--ease-enter) both}.card-enter--in{animation:rise-in .42s var(--ease-enter) both}@keyframes card-in-right{0%{opacity:0;transform:translate(28px)rotate(2deg)scale(.97)}to{opacity:1;transform:none}}@keyframes card-in-left{0%{opacity:0;transform:translate(-28px)rotate(-2deg)scale(.97)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.card-enter--right,.card-enter--left,.card-enter--in{animation:.12s linear both fade-only}}@media (max-width:600px){.deck__word{font-size:28px;line-height:34px}.dash-tiles{gap:8px}.dash-tiles .tile{gap:6px;min-height:100px;padding:14px}.dash-tiles .tile__value{font-size:24px;line-height:28px}.dash-tiles .tile__icon{font-size:64px;bottom:-12px;right:-10px}.plan__item{grid-template-columns:32px minmax(0,1fr);gap:12px}.plan__day{border-radius:10px;width:32px;height:32px}}.rcard__title,.rcard__sub{display:block}[tabindex="-1"]:focus,[tabindex="-1"]:focus-visible{outline:none}.lrow__body{flex-direction:column;flex:1;min-width:0;display:flex}.lrow__title,.lrow__sub{display:block}.sec-tile .tile__icon{opacity:.14;font-size:84px;bottom:-14px;right:-10px}.sec-tile__body{max-width:30ch}.shell__rumpun{flex-direction:column;display:flex}.shell__gbtn{text-align:left;width:100%;min-height:40px;font:500 13.5px/18px var(--font);color:var(--text-strong);transition:background-color var(--d-fast);border-radius:9px;align-items:center;gap:8px;padding:0 10px;display:flex}@media (hover:hover) and (pointer:fine){.shell__gbtn:hover{background:var(--bg-tint)}}.shell__gbtn:active{background:var(--bg-tint-strong)}.shell__glabel{flex:1;min-width:0}.shell__gcount{font:500 12px/1 var(--font);color:var(--text-muted)}.shell__gbtn .ic{color:var(--text-muted);transition:transform var(--d-smooth) var(--spring-smooth);font-size:18px}.shell__gbtn[aria-expanded=true] .ic{transform:rotate(180deg)}.shell__gpanel{transition:grid-template-rows var(--d-smooth) var(--spring-smooth);grid-template-rows:0fr;display:grid}.shell__gpanel>div{flex-direction:column;gap:2px;min-height:0;padding-left:6px;display:flex;overflow:hidden}.shell__gpanel.is-open{grid-template-rows:1fr}.shell__gpanel>div>.shell__link{opacity:0;transition:opacity var(--d-fast) var(--ease-exit), transform var(--d-fast) var(--ease-exit), color var(--d-fast), background-color var(--d-fast);transform:translateY(-4px)}.shell__gpanel.is-open>div>.shell__link{opacity:1;transition:opacity var(--d-standard) var(--ease-enter) 80ms, transform var(--d-smooth) var(--spring-smooth) 40ms, color var(--d-fast), background-color var(--d-fast);transform:none}.shell__link{min-height:38px;padding-top:6px;padding-bottom:6px;line-height:18px}.shell__hl{height:38px}@media (prefers-reduced-motion:reduce){.shell__gpanel,.shell__gbtn .ic,.shell__gpanel>div>.shell__link{transition:none}}
.hide-sm{display:inline}.show-sm{display:none}@media (max-width:600px){.hide-sm{display:none}.show-sm{display:flex}}@media (hover:none){.hide-touch{display:none}}.kbd-hint{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.disc{border-radius:var(--r-lg);background:var(--bg-fill)}.disc__btn{text-align:left;border-radius:inherit;width:100%;min-height:56px;color:var(--text-strong);font:500 15px/21px var(--font);transition:background-color var(--d-fast);align-items:center;gap:12px;padding:10px 16px;display:flex}@media (hover:hover) and (pointer:fine){.disc__btn:hover{background:var(--bg-tint)}}.disc__btn>.ic:first-child{color:var(--accent-text);font-size:19px}.disc__label{flex:1;min-width:0}.disc__chev{color:var(--text-muted);transition:transform var(--d-smooth) var(--spring-smooth)}.disc.is-open>.disc__btn .disc__chev{transform:rotate(180deg)}.disc__panel{transition:grid-template-rows var(--d-exit) var(--ease-exit);grid-template-rows:0fr;display:grid}.disc.is-open>.disc__panel{transition:grid-template-rows var(--d-smooth) var(--spring-smooth);grid-template-rows:1fr}.disc__panel>div{min-height:0;overflow:hidden}.disc__inner{opacity:0;transition:opacity var(--d-fast) var(--ease-exit), transform var(--d-fast) var(--ease-exit);padding:4px 16px 18px;transform:translateY(-4px)}.disc.is-open>.disc__panel .disc__inner{opacity:1;transition:opacity var(--d-standard) var(--ease-enter) 80ms, transform var(--d-smooth) var(--spring-smooth) 40ms;transform:none}.disc--quiet{background:var(--bg-base);box-shadow:inset 0 0 0 1px var(--line)}.disc--quiet>.disc__btn{min-height:48px;font-size:14px}.qtext{font:400 21px/34px var(--font);letter-spacing:-.012em;color:var(--text-strong);text-wrap:pretty}.qtext--q{font-size:19px;font-weight:500;line-height:29px}.qtext--written{line-height:52px}.qblank{vertical-align:-.12em;border-bottom:2.5px solid var(--accent);background:linear-gradient(to top, var(--accent-tint), transparent);border-radius:1px;width:96px;height:.9em;margin:0 6px;display:inline-block}.uline{display:inline-block;position:relative}.uline__text{text-underline-offset:5px;text-decoration:underline;text-decoration-thickness:2px;-webkit-text-decoration-color:var(--text-strong);text-decoration-color:var(--text-strong)}.uline__key{background:var(--accent-tint);width:20px;height:20px;color:var(--accent-text);font:600 11px/1 var(--font);border-radius:6px;place-items:center;display:grid;position:absolute;top:calc(100% - 8px);left:50%;translate:-50%}.qwait{border-radius:var(--r-md);background:var(--bg-fill);font:400 15px/23px var(--font);color:var(--text-subtle);align-items:flex-start;gap:10px;padding:14px 16px;display:flex}.qwait .ic{color:var(--accent-text)}.qhint{font:var(--type-footnote);color:var(--text-subtle);align-items:center;gap:6px;display:flex}.qhint .ic{font-size:16px}.opts{flex-direction:column;gap:8px;display:flex}.opt{overflow:visible}@media (max-width:600px){.qtext{font:400 18px/29px var(--font)}.qtext--q{font-size:17px;line-height:26px}.qtext--written{line-height:46px}.qblank{width:72px}}.passage__title{font:var(--type-title-3);letter-spacing:var(--tracking-title-3);color:var(--text-strong);margin-bottom:16px}.passage__body{flex-direction:column;gap:14px;display:flex}.passage__p{border-radius:var(--r-sm);transition:background-color var(--d-considered) var(--ease-standard);grid-template-columns:26px minmax(0,1fr);gap:10px;display:grid}.passage__p.is-target{background:var(--accent-tint);box-shadow:0 0 0 8px var(--accent-tint)}.passage__n{text-align:right;font:600 12px/1 var(--font);color:var(--text-muted);font-variant-numeric:tabular-nums;padding-top:4px}.passage__p p{font:400 17px/28px var(--font);color:var(--text-default);letter-spacing:-.006em}.passage__mark{background:color-mix(in srgb, var(--warning) 32%, transparent);color:var(--text-strong);animation:dds-pop var(--d-snappy) var(--spring-snappy);border-radius:4px;padding:0 3px;font-weight:600}.script{flex-direction:column;gap:10px;display:flex}.script__line{grid-template-columns:72px minmax(0,1fr);gap:10px;display:grid}.script__line dt{font:600 12px/22px var(--font);color:var(--text-muted)}.script__line dd{font:400 15px/22px var(--font);color:var(--text-default);margin:0}.script__line--W dt{color:var(--accent-text)}.explain{border-radius:var(--r-xl);background:var(--bg-fill);flex-direction:column;gap:14px;padding:20px;display:flex}.explain--live{animation:rise-in .42s var(--ease-enter) both}.explain__head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 12px;display:flex}.explain__verdict{font:600 16px/22px var(--font);letter-spacing:-.01em;align-items:center;gap:8px;display:flex}.explain__verdict .ic{font-family:var(--font-icons-fill);font-size:22px}.explain--ok .explain__verdict{color:var(--success-text)}.explain--bad .explain__verdict{color:var(--text-strong)}.explain--bad .explain__verdict .ic{color:var(--accent-text)}.explain__body{font:400 16px/26px var(--font);color:var(--text-default)}.explain__tutor{box-shadow:0 -1px 0 var(--hairline);padding-top:12px}.explain__tutor .btn--plain{margin-left:-10px}.tutor-wait{font:500 14px/20px var(--font);color:var(--text-subtle);align-items:center;gap:10px;display:flex}.tutor{flex-direction:column;gap:10px;display:flex}.tutor__note{font:var(--type-footnote);color:var(--text-muted);align-items:center;gap:6px;display:flex}.tutor__note .ic{color:var(--accent-text);font-size:16px}.tutor__p{font:400 15.5px/25px var(--font);color:var(--text-default);white-space:pre-line}@media (max-width:600px){.explain{padding:16px}}.sesi>.gate,.sesi>.skel-stack,.sesi>.alert{margin-left:20px;margin-right:20px}.sesi>.skel-stack,.sesi>.alert{margin-top:32px}.page--run{max-width:1180px;padding-top:32px}@media (max-width:600px){.page--run{padding-top:20px}}.run{min-height:100dvh}.runbar{z-index:30;background:var(--bg-material);-webkit-backdrop-filter:blur(20px)saturate(180%);backdrop-filter:blur(20px)saturate(180%);box-shadow:0 .5px 0 var(--line-strong);position:sticky;top:0}@media (prefers-reduced-transparency:reduce){.runbar{background:var(--bg-canvas);-webkit-backdrop-filter:none;backdrop-filter:none}}.runbar__row{align-items:center;gap:10px;max-width:1180px;min-height:60px;margin:0 auto;padding:6px 16px;display:flex}.runbar__title{flex:1;min-width:0}.runbar__name{font:var(--type-headline);letter-spacing:var(--tracking-headline);color:var(--text-strong);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.runbar__meta{font:var(--type-footnote);color:var(--text-subtle);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.runbar__progress{background:var(--bg-track);height:3px}.runbar__progress span{background:var(--accent);transform-origin:0;height:100%;transition:transform var(--d-considered) var(--ease-inout);display:block}.runbar__nav{transition:grid-template-rows var(--d-exit) var(--ease-exit);grid-template-rows:0fr;display:grid}.runbar__nav.is-open{transition:grid-template-rows var(--d-smooth) var(--spring-smooth);grid-template-rows:1fr}.runbar__nav>div{min-height:0;overflow:hidden}.runbar__navin{opacity:0;max-width:1180px;transition:opacity var(--d-fast) var(--ease-exit);flex-direction:column;gap:12px;margin:0 auto;padding:14px 16px 18px;display:flex}.runbar__nav.is-open .runbar__navin{opacity:1;transition:opacity var(--d-standard) var(--ease-enter) 60ms}@media (min-width:1081px){.runbar__navbtn{display:none}}.timer{--t:1;border-radius:var(--r-pill);background:var(--bg-recessed);height:36px;font:600 15px/1 var(--font);color:var(--text-strong);transition:background-color var(--d-considered) var(--ease-standard), color var(--d-considered) var(--ease-standard);align-items:center;gap:6px;padding:0 12px;display:inline-flex}.timer .ic{color:var(--text-subtle);transition:color var(--d-considered);font-size:18px}.timer.is-low{background:var(--warning-tint);color:var(--warning-text)}.timer.is-low .ic{color:var(--warning-text)}.timer.is-critical{background:var(--danger-tint);color:var(--danger-text)}.timer.is-critical .ic{color:var(--danger-text);animation:tick 1s var(--ease-standard) 3}@keyframes tick{0%,to{transform:none}15%{transform:rotate(14deg)}30%{transform:rotate(-10deg)}45%{transform:none}}.runlayout{grid-template-columns:minmax(0,1fr) 232px;align-items:start;gap:56px;display:grid}.runlayout__main{min-width:0;max-width:760px}.runlayout__side{flex-direction:column;gap:12px;display:flex;position:sticky;top:96px}@media (max-width:1080px){.runlayout{grid-template-columns:minmax(0,1fr)}.runlayout__side{display:none}}.qnav{grid-template-columns:repeat(auto-fill,minmax(44px,1fr));gap:6px;display:grid}.qnav__btn{background:var(--bg-fill);height:44px;font:600 14px/1 var(--font);color:var(--text-subtle);transition:background-color var(--d-fast), color var(--d-fast), transform var(--d-snappy) var(--spring-snappy), box-shadow var(--d-fast);border-radius:12px;place-items:center;display:grid;position:relative}@media (hover:hover) and (pointer:fine){.qnav__btn:hover{background:var(--bg-tint-strong);color:var(--text-strong)}}.qnav__btn:active{transition-duration:90ms;transform:scale(.9)}.qnav__btn.is-done{background:var(--accent-tint);color:var(--accent-text)}.qnav__btn.is-right{background:var(--success-tint);color:var(--success-text)}.qnav__btn.is-wrong{background:var(--danger-tint);color:var(--danger-text)}.qnav__btn[aria-current=step]{box-shadow:inset 0 0 0 2px var(--accent);color:var(--text-strong)}.qnav__flag{background:var(--warning);border-radius:50%;width:6px;height:6px;position:absolute;top:5px;right:5px}.qcol{flex-direction:column;gap:22px;min-width:0;display:flex}.q-enter{animation:q-in .38s var(--ease-enter) both}.q-enter-back{animation:q-in-back .38s var(--ease-enter) both}@keyframes q-in{0%{opacity:0;transform:translate(16px)}to{opacity:1;transform:none}}@keyframes q-in-back{0%{opacity:0;transform:translate(-16px)}to{opacity:1;transform:none}}.qhead{flex-wrap:wrap;align-items:center;gap:8px 12px;display:flex}.qhead__n{font:var(--type-title-3);letter-spacing:var(--tracking-title-3);color:var(--text-strong);outline:none;flex:1}.qhead__of{font:400 15px/1 var(--font);color:var(--text-muted);letter-spacing:0}.streak{border-radius:var(--r-pill);background:var(--warning-tint);height:30px;color:var(--warning-text);font:600 13px/1 var(--font);align-items:center;gap:6px;padding:0 12px;display:inline-flex}.streak .ic{font-family:var(--font-icons-fill);animation:dds-heart .52s var(--spring-snappy);font-size:16px}.flag-btn{border-radius:var(--r-md);min-height:44px;font:500 14px/1 var(--font);color:var(--text-subtle);transition:background-color var(--d-fast), color var(--d-fast), transform var(--d-snappy) var(--spring-snappy);align-items:center;gap:6px;padding:0 12px;display:inline-flex}@media (hover:hover) and (pointer:fine){.flag-btn:hover{background:var(--bg-tint);color:var(--text-strong)}}.flag-btn:active{transform:scale(.95)}.flag-btn[aria-pressed=true]{background:var(--warning-tint);color:var(--warning-text)}.flag-btn[aria-pressed=true] .ic{animation:dds-pop var(--d-snappy) var(--spring-snappy)}.qactions{box-shadow:0 -1px 0 var(--hairline);flex-wrap:wrap;align-items:center;gap:8px;padding-top:18px;display:flex}.qactions__end{flex-wrap:wrap;gap:8px;margin-left:auto;display:flex}@media (max-width:600px){.qactions{z-index:5;padding:12px 20px calc(12px + env(safe-area-inset-bottom));background:var(--bg-material);-webkit-backdrop-filter:blur(20px)saturate(180%);backdrop-filter:blur(20px)saturate(180%);margin:0 -20px;position:sticky;bottom:0}.qactions__end,.qactions__end .btn{flex:1}}.listen{border-radius:var(--r-xl);background:var(--bg-fill);flex-direction:column;gap:12px;padding:18px;display:flex}.listen__row{align-items:center;gap:14px;display:flex}.listen__icon{background:var(--bg-base);width:48px;height:48px;color:var(--accent-text);box-shadow:inset 0 0 0 1px var(--line);transition:background-color var(--d-standard) var(--ease-standard), color var(--d-standard);border-radius:50%;flex:none;place-items:center;display:grid;position:relative}.listen.is-busy .listen__icon{background:var(--accent);color:#fff;box-shadow:var(--finish-primary)}.listen__wave{justify-content:center;align-items:center;gap:3px;display:none;position:absolute;inset:0}.listen__wave i{transform-origin:50%;width:3px;height:14px;animation:wave .9s var(--ease-inout) infinite alternate;background:currentColor;border-radius:2px}.listen__wave i:nth-child(2){animation-delay:-300ms}.listen__wave i:nth-child(3){animation-delay:-600ms}.listen__wave i:nth-child(4){animation-delay:-150ms}.listen.is-playing .listen__icon>.ic{opacity:0}.listen.is-playing .listen__wave{display:flex}@keyframes wave{0%{transform:scaleY(.35)}to{transform:scaleY(1)}}.listen__title{font:var(--type-headline);letter-spacing:var(--tracking-headline);color:var(--text-strong)}.listen__status{font:var(--type-footnote);color:var(--text-subtle)}.reading{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);align-items:start;gap:48px;display:grid}.reading__tabs{display:none}.reading__passage{border-radius:var(--r-xl);background:var(--bg-fill);overscroll-behavior:contain;flex-direction:column;gap:16px;max-height:calc(100dvh - 120px);padding:24px;display:flex;position:sticky;top:96px;overflow-y:auto}@media (max-width:1080px){.reading{grid-template-columns:minmax(0,1fr);gap:20px}.reading__tabs{z-index:6;display:grid;position:sticky;top:72px}.reading__passage{max-height:none;padding:18px;position:static}.is-hidden-sm{display:none!important}}.intro{flex-direction:column;gap:18px;max-width:640px;margin:24px auto 0;display:flex}.intro__steps{margin-bottom:12px}.intro__kicker{font:var(--type-footnote);color:var(--accent-text);font-weight:500}.intro__icon{background:var(--accent);color:#fff;width:64px;height:64px;box-shadow:var(--finish-primary);border-radius:20px;place-items:center;display:grid}.intro__icon .ic{font-size:30px;font-family:var(--font-icons-fill)}.intro__icon--warn{background:var(--tile-orange)}.intro__title{font:var(--type-display);letter-spacing:var(--tracking-display);color:var(--text-strong);text-wrap:balance}.intro__lede{font:400 18px/28px var(--font);color:var(--text-subtle)}.intro__facts{gap:12px;display:flex}.intro__facts div{border-radius:var(--r-lg);background:var(--bg-fill);align-items:baseline;gap:6px;padding:14px 20px;display:flex}.intro__facts b{font:var(--type-title-1);letter-spacing:var(--tracking-title-1);color:var(--text-strong)}.intro__facts span{font:var(--type-subhead);color:var(--text-subtle)}.intro__list{flex-direction:column;gap:10px;display:flex}.intro__list li{font:400 16px/25px var(--font);color:var(--text-default);padding-left:26px;position:relative}.intro__list li:before{content:"";background:var(--accent);border-radius:50%;width:7px;height:7px;position:absolute;top:9px;left:6px}.intro .kbd{vertical-align:1px}@media (max-width:600px){.intro__title{letter-spacing:-.03em;font-size:36px;line-height:40px}.intro{margin-top:8px}}.modal{border-radius:var(--r-xl);background:var(--bg-elevated);width:min(420px,100vw - 32px);color:var(--text-default);box-shadow:inset 0 0 0 .5px var(--line-strong), var(--shadow-lg);opacity:0;transition:opacity var(--d-exit) var(--ease-exit), transform var(--d-exit) var(--ease-exit), overlay var(--d-exit) allow-discrete, display var(--d-exit) allow-discrete;border:0;padding:24px;transform:translateY(4px)scale(.98)}.modal[open]{opacity:1;transition:opacity var(--d-fast) var(--ease-enter), transform var(--d-smooth) var(--spring-smooth), overlay var(--d-smooth) allow-discrete, display var(--d-smooth) allow-discrete;transform:none}@starting-style{.modal[open]{opacity:0;transform:translateY(8px)scale(.96)}}.modal::backdrop{background:var(--bg-scrim);opacity:0;transition:opacity var(--d-exit) var(--ease-exit), overlay var(--d-exit) allow-discrete, display var(--d-exit) allow-discrete}.modal[open]::backdrop{opacity:1;transition:opacity var(--d-standard) var(--ease-enter), overlay var(--d-standard) allow-discrete, display var(--d-standard) allow-discrete}@starting-style{.modal[open]::backdrop{opacity:0}}.modal__icon{background:var(--accent-tint);width:44px;height:44px;color:var(--accent-text);border-radius:12px;place-items:center;margin-bottom:14px;display:grid}.modal__icon .ic{font-size:24px}.modal__title{font:var(--type-title-3);letter-spacing:var(--tracking-title-3);color:var(--text-strong)}.modal__body{font:400 15px/23px var(--font);color:var(--text-subtle);flex-direction:column;gap:8px;margin-top:8px;display:flex}.modal__body b{color:var(--text-strong);font-weight:600}.modal__actions{flex-wrap:wrap;gap:10px;margin-top:22px;display:flex}.modal__actions .btn{flex:140px}.builder{grid-template-columns:minmax(0,1fr) 340px;align-items:start;gap:40px;display:grid}.builder__main{flex-direction:column;gap:44px;min-width:0;display:flex}.builder__step{flex-direction:column;gap:14px;display:flex}.builder__h{font:var(--type-title-3);letter-spacing:var(--tracking-title-3);color:var(--text-strong);align-items:center;gap:10px;display:flex}.builder__h--sm{font:var(--type-headline);letter-spacing:var(--tracking-headline)}.builder__num{background:var(--accent);color:#fff;width:26px;height:26px;font:600 13px/1 var(--font);box-shadow:var(--finish-primary);border-radius:8px;flex:none;place-items:center;display:grid}.builder__help{font:var(--type-subhead);color:var(--text-subtle)}.builder__side{position:sticky;top:24px}.builder__panel{gap:22px}.builder__summary{border-radius:var(--r-md);background:var(--bg-base);font:400 14.5px/21px var(--font);color:var(--text-default);align-items:center;gap:12px;padding:14px;display:flex}.builder__summary b{color:var(--text-strong);font-weight:600}.kind-grid{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:10px;display:grid}.kind{text-align:left;align-items:center;width:100%}.kind__icon{background:var(--bg-recessed);width:40px;height:40px;color:var(--text-subtle);transition:background-color var(--d-standard) var(--ease-standard), color var(--d-standard), transform var(--d-snappy) var(--spring-snappy);border-radius:12px;flex:none;place-items:center;display:grid}.kind__icon .ic{font-size:21px}.kind__icon--sm{background:var(--accent);color:#fff;border-radius:10px;width:34px;height:34px}.kind[aria-checked=true] .kind__icon{background:var(--accent);color:#fff;box-shadow:var(--finish-primary);transform:rotate(-6deg)scale(1.05)}.chip__n{font:500 12px/1 var(--font);color:var(--text-muted);margin-left:8px}.chip[aria-pressed=true] .chip__n{color:inherit;opacity:.75}.chip{height:40px}.source-list{gap:14px}@media (max-width:1080px){.builder{grid-template-columns:minmax(0,1fr)}.builder__side{position:static}}.resume{border-radius:var(--r-xl);background:var(--accent-tint);gap:16px;padding:22px;display:flex}.resume__icon{background:var(--accent);color:#fff;width:44px;height:44px;box-shadow:var(--finish-primary);border-radius:13px;flex:none;place-items:center;display:grid}.resume__title{font:var(--type-title-3);letter-spacing:var(--tracking-title-3);color:var(--text-strong)}.resume__list{flex-direction:column;gap:10px;margin-top:10px;display:flex}.resume__list li{font:var(--type-subhead);color:var(--text-default);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.resume__list b{color:var(--text-strong);font-weight:600}@media (max-width:600px){.resume{flex-direction:column;padding:18px}}.packs{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px;display:grid}.pack{border-radius:var(--r-xl);background:var(--bg-fill);transition:transform var(--d-snappy) var(--spring-snappy), background-color var(--d-fast);flex-direction:column;gap:8px;padding:20px;display:flex}@media (hover:hover) and (pointer:fine){.pack:hover{transform:translateY(-2px)}.pack:hover .pack__n{transform:rotate(-6deg)scale(1.06)}}.pack__top{justify-content:space-between;align-items:center;gap:8px;margin-bottom:6px;display:flex}.pack__n{background:var(--accent);color:#fff;width:48px;height:48px;font:600 22px/1 var(--font);letter-spacing:-.02em;box-shadow:var(--finish-primary);transition:transform var(--d-snappy) var(--spring-snappy);border-radius:14px;place-items:center;display:grid}.pack.is-done .pack__n{background:var(--tile-green)}.pack--random .pack__n{background:var(--tile-orange)}.pack__title{font:var(--type-headline);letter-spacing:var(--tracking-headline);color:var(--text-strong)}.pack__sub{font:400 14px/20px var(--font);color:var(--text-subtle);flex:1;margin-bottom:8px}.trend{flex-direction:column;gap:12px;display:flex}.trend__q{font:var(--type-headline);letter-spacing:var(--tracking-headline);color:var(--text-strong)}.trend svg{width:100%;height:auto;display:block;overflow:visible}.trend__axis{stroke:var(--hairline);stroke-width:1px}.trend__line{fill:none;stroke:var(--series-1);stroke-width:3px;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:1px;transition:stroke-dashoffset 1.1s var(--ease-inout)}.trend.is-in .trend__line{stroke-dashoffset:0}.trend__pt{opacity:0;transition:opacity var(--d-standard) var(--ease-enter)}.trend.is-in .trend__pt{opacity:1}.trend__pt circle{fill:var(--bg-base);stroke:var(--series-1);stroke-width:3px}.trend__val{font:600 13px var(--font);fill:var(--text-strong)}.trend__lbl{font:400 11px var(--font);fill:var(--text-muted)}.dt.history{min-width:560px}.dt.history .dt__row{grid-template-columns:minmax(0,1.6fr) minmax(0,1.2fr) 56px 56px 56px 88px}.mistakes{grid-template-columns:280px minmax(0,1fr);align-items:start;gap:40px;display:grid}.mistakes__side{flex-direction:column;gap:20px;display:flex;position:sticky;top:24px}.mistakes__big{font:600 56px/60px var(--font);letter-spacing:-.04em;color:var(--text-strong)}.mistakes__main{flex-direction:column;gap:14px;min-width:0;display:flex}.tfilter{flex-direction:column;gap:2px;display:flex}.tfilter .rail__label{margin:0 0 6px 10px}.tfilter__btn{isolation:isolate;text-align:left;min-height:40px;font:400 14px/18px var(--font);color:var(--text-default);transition:background-color var(--d-fast), color var(--d-fast);border-radius:10px;align-items:center;gap:10px;padding:0 10px;display:flex;position:relative}@media (hover:hover) and (pointer:fine){.tfilter__btn:hover{background:var(--bg-tint)}}.tfilter__btn[aria-pressed=true]{background:var(--accent-tint);color:var(--accent-text);font-weight:500}.tfilter__name{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.tfilter__bar{z-index:-1;width:calc(var(--v,0) * 100%);background:var(--danger-tint);opacity:.7;transform-origin:0;animation:bar-in .7s var(--ease-enter) both;border-radius:8px;position:absolute;top:6px;bottom:6px;left:0}@keyframes bar-in{0%{transform:scaleX(0)}to{transform:none}}@media (max-width:1080px){.mistakes{grid-template-columns:minmax(0,1fr);gap:24px}.mistakes__side{position:static}.tfilter{flex-flow:row;gap:6px;padding-bottom:4px;overflow-x:auto}.tfilter .rail__label{display:none}.tfilter__btn{background:var(--bg-fill);flex:none}.tfilter__bar{display:none}}.review{flex-direction:column;gap:8px;display:flex}.review__sum{flex-wrap:wrap;align-items:center;gap:4px 12px;display:flex}.review__sum--mistake{flex-direction:column;align-items:flex-start;gap:2px}.review__dot{border-radius:50%;flex:none;place-items:center;width:26px;height:26px;display:grid}.review__dot .ic{font-size:16px}.review__dot--right{background:var(--success-tint);color:var(--success-text)}.review__dot--wrong{background:var(--danger-tint);color:var(--danger-text)}.review__dot--blank{background:var(--bg-recessed);color:var(--text-muted)}.review__n{color:var(--text-strong);font-weight:600}.review__meta{font:var(--type-footnote);color:var(--text-subtle)}.review__text{font:500 15px/22px var(--font);color:var(--text-strong);-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.review-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:12px 24px;margin-bottom:20px;display:flex}.review-head .section-head{margin-bottom:0}.review-head__seg{min-width:min(100%,420px)}.seg__n{opacity:.6;margin-left:4px;font-weight:500}.result-hero{border-radius:var(--r-xl);background:var(--bg-fill);grid-template-columns:auto minmax(0,1fr);align-items:center;gap:48px;padding:36px;display:grid}.result-hero__score .ring{flex:none}.result-hero__score .ring circle{stroke-width:7px}.ring-big{text-align:center;flex-direction:column;align-items:center;gap:4px;display:flex}.ring-big__n{font:600 46px/1 var(--font);letter-spacing:-.04em;color:var(--text-strong);align-items:baseline;display:inline-flex}.ring-big__n .roll{height:1.1em;line-height:1.1em}.ring-big__sub{font:500 12px/16px var(--font);color:var(--text-subtle);max-width:120px}.result-hero__text{flex-direction:column;gap:14px;min-width:0;display:flex}.result-hero__title{font:var(--type-display);letter-spacing:var(--tracking-display);color:var(--text-strong);text-wrap:balance;animation:rise-in .52s var(--ease-enter) .2s both}.result-hero__line{font:400 18px/28px var(--font);color:var(--text-subtle);max-width:52ch}@media (max-width:860px){.result-hero{text-align:center;grid-template-columns:minmax(0,1fr);justify-items:center;gap:24px;padding:28px 20px}.result-hero__text{align-items:center}.result-hero__text .row{justify-content:center}.result-hero__title{letter-spacing:-.03em;font-size:38px;line-height:42px}}.result-tiles{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.result-tiles .tile{min-height:140px}.result-tiles .tile__value{flex-wrap:wrap;align-items:baseline;gap:4px 8px;display:flex}.result-tiles .tile__value .roll{height:1.15em;line-height:1.15em}@media (max-width:760px){.result-tiles{grid-template-columns:minmax(0,1fr)}.result-tiles .tile{min-height:112px}}.topic-bars li{flex-direction:column;display:flex}.tb__name{color:var(--text-strong);font-weight:500}.tb__name:hover{color:var(--accent-text)}.tb__practice{min-height:32px;font:500 13px/1 var(--font);color:var(--accent-text);align-self:flex-start;align-items:center;gap:2px;margin-top:6px;display:inline-flex}.tb__practice .ic{transition:transform var(--d-snappy) var(--spring-snappy);font-size:16px}.tb__practice:hover .ic{transform:translate(3px)}.sbar__fill.is-good{background:var(--success)}.sbar__fill.is-weak{background:var(--danger)}.topic-bars{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 32px;display:grid}@media (max-width:860px){.topic-bars{grid-template-columns:minmax(0,1fr)}}.about__stats{grid-template-columns:repeat(4,minmax(0,1fr))}.about__stats dd{font:var(--type-title-2);letter-spacing:var(--tracking-title-2)}@media (max-width:760px){.about__stats{grid-template-columns:repeat(2,minmax(0,1fr))}}.about__sections{flex-direction:column;gap:16px;max-width:920px;display:flex}.about__sec{border-radius:var(--r-xl);background:var(--bg-fill);grid-template-columns:200px minmax(0,1fr);gap:20px;padding:12px;display:grid}.about__tile{min-height:150px}.about__body{flex-direction:column;gap:8px;padding:10px 8px 10px 4px;display:flex}.about__name{font:var(--type-title-3);letter-spacing:var(--tracking-title-3);color:var(--text-strong)}.about__facts{font:var(--type-subhead);color:var(--text-subtle)}.about__parts{flex-direction:column;gap:8px;margin-top:6px;display:flex}.about__parts li{font:400 15px/22px var(--font);color:var(--text-default);grid-template-columns:150px minmax(0,1fr);gap:10px;display:grid}.about__parts b{color:var(--text-strong);font-weight:600}@media (max-width:760px){.about__sec{grid-template-columns:minmax(0,1fr)}.about__tile{min-height:112px}.about__parts li{grid-template-columns:minmax(0,1fr);gap:2px}}.about__score .prose{max-width:760px}.about__h3{font:var(--type-title-3);letter-spacing:var(--tracking-title-3);color:var(--text-strong);margin:40px 0 14px}.about__cefr{max-width:760px}.dt.cefr{min-width:520px}.dt.cefr .dt__row{grid-template-columns:160px 96px minmax(0,1fr)}.about__src ul{font:var(--type-footnote);color:var(--text-subtle);flex-direction:column;gap:8px;max-width:760px;margin-top:10px;display:flex}@media (prefers-reduced-motion:reduce){.q-enter,.q-enter-back,.explain--live,.result-hero__title{animation:.12s linear both fade-only}.listen__wave i,.timer.is-critical .ic,.tfilter__bar,.streak .ic,.passage__mark{animation:none}.trend__line{transition:none}}
