.dq{max-width:46rem;margin-top:clamp(1.4rem,3vw,2rem)}.dq__field{border:1px solid var(--line-strong);background:var(--surface);transition:border-color .2s var(--ease), box-shadow .2s var(--ease);border-radius:18px;flex-direction:column;display:flex;position:relative;box-shadow:0 18px 50px #0000002e}.dq__field:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft), 0 18px 50px #0003}.dq textarea{width:100%;min-height:7.2rem;max-height:16rem;color:var(--ink);font:inherit;resize:vertical;background:0 0;border:0;border-radius:18px 18px 0 0;padding:1.1rem 1.2rem .4rem;font-size:1.08rem;line-height:1.5;display:block}.dq textarea::placeholder{color:var(--muted)}.dq textarea:focus{outline:none}.dq__actions{justify-content:flex-end;align-items:center;gap:.5rem;padding:.5rem .6rem .6rem;display:flex}.dq__clear,.dq__submit{min-height:44px;font:inherit;cursor:pointer;border-radius:999px;justify-content:center;align-items:center;gap:.5rem;display:inline-flex}.dq__clear{border:1px solid var(--line-strong);width:44px;color:var(--ink-2);background:0 0;padding:0}.dq__clear svg,.dq__submit svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:1.15rem;height:1.15rem}.dq__clear[hidden]{display:none}.dq__clear:hover{border-color:var(--ink-2);color:var(--ink)}.dq__submit{border:1px solid var(--accent);background:var(--accent);color:var(--on-accent);padding:0 1.15rem;font-weight:650}.dq__submit:hover{filter:brightness(1.08)}.dq__submit:disabled{cursor:progress;opacity:.85}.dq__clear:focus-visible,.dq__submit:focus-visible,.dq__chip:focus-visible,.dr a:focus-visible,.dr__new:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.dq.is-busy .dq__submit svg{animation:.9s linear infinite dq-spin}.dq.is-busy .dq__submit-label:after{content:"…"}@keyframes dq-spin{to{transform:rotate(360deg)}}.dq__hint{color:var(--muted);margin:.6rem .2rem 0;font-size:.8rem}.dq__status{min-height:1.4em;color:var(--ink-2);margin:.35rem .2rem 0;font-size:.9rem}.dq__examples{margin-top:.8rem}.dq__examples-label{color:var(--muted);letter-spacing:.12em;text-transform:uppercase;margin:0 0 .5rem;font-size:.72rem;font-weight:650}.dq__examples ul,.dr-options{flex-wrap:wrap;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.dq__chip{border:1px solid var(--line-strong);min-height:40px;color:var(--ink-2);font:inherit;text-align:left;cursor:pointer;transition:border-color .15s var(--ease), color .15s var(--ease);background:0 0;border-radius:999px;padding:.45rem .85rem;font-size:.86rem}.dq__chip:hover{border-color:var(--accent);color:var(--ink)}.dr{border-top:1px solid var(--line);background:var(--paper-2);scroll-margin-top:calc(var(--header-h) + 1rem);padding:clamp(2rem,5vw,3.5rem) 0}.dr__inner{width:min(100% - 2 * var(--gutter), var(--max));margin-inline:auto}.dr__head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem 1rem;margin-bottom:1.25rem;display:flex}.dr__title{font-size:var(--step-2);margin:0}.dr__title:focus{outline:none}.dr__new{border:1px solid var(--line-strong);min-height:44px;color:var(--ink);font:inherit;cursor:pointer;background:0 0;border-radius:999px;padding:.5rem 1rem;font-size:.9rem;font-weight:600}.dr__new:hover{border-color:var(--accent);color:var(--accent)}.dr__thread{gap:2.25rem;display:grid}.dr-exchange{border-bottom:1px solid var(--line);padding-bottom:2.25rem}.dr-exchange:last-child{border-bottom:0;padding-bottom:0}.dr-exchange__q{background:var(--surface);border:1px solid var(--line);max-width:100%;color:var(--ink);overflow-wrap:anywhere;border-radius:12px;margin:0 0 .9rem;padding:.55rem .9rem;font-weight:600;display:inline-block}.dr-say{max-width:72ch;color:var(--ink);margin:0 0 .6rem;font-size:1.05rem;line-height:1.55}.dr-say--sub{color:var(--ink-2);font-size:.93rem}.dr-say a{color:var(--accent);font-weight:600}.dr-options{margin:.4rem 0 1rem}.dr-group{margin-top:1.4rem}.dr-group__title{font-family:var(--font-sans);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin:0 0 .75rem;font-size:.76rem;font-weight:650}.dr-list{grid-template-columns:repeat(auto-fill,minmax(min(100%,19rem),1fr));gap:.9rem;margin:0;padding:0;list-style:none;display:grid}.dr-card{border:1px solid var(--line);background:var(--surface);border-radius:12px;flex-direction:column;min-width:0;padding:1.05rem 1.15rem;display:flex}.dr-card--tool{border-top:3px solid var(--accent)}.dr-card__kind{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;margin:0 0 .35rem;font-size:.7rem;font-weight:700}.dr-card__title{margin:0 0 .35rem;font-size:1.02rem;line-height:1.3}.dr-card__title a{color:var(--ink);text-decoration:none}.dr-card__title a:hover{color:var(--accent);text-underline-offset:3px;text-decoration:underline}.dr-card__book{color:var(--muted);margin:0 0 .4rem;font-size:.84rem}.dr-card__book a{color:var(--ink-2)}.dr-card__desc{color:var(--ink-2);margin:0 0 .5rem;font-size:.9rem;line-height:1.5}.dr-card__why{color:var(--muted);margin:0 0 .6rem;font-size:.82rem;line-height:1.45}.dr-card__actions{margin:auto 0 0;padding-top:.3rem}.dr-card__cta{min-height:44px;color:var(--accent);align-items:center;font-size:.9rem;font-weight:650;display:inline-flex}.dr-list--compact .dr-card{padding:.85rem 1rem}.dr__note{color:var(--muted);margin:2rem 0 0;font-size:.82rem}.sp{border:1px solid var(--line-strong);border-left:3px solid var(--accent);background:var(--surface);border-radius:14px;margin:1.4rem 0 .4rem;padding:clamp(1.1rem,2.5vw,1.6rem)}.sp__head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.3rem 1rem;display:flex}.sp__title{font-size:var(--step-1);margin:0}.sp__meta{color:var(--muted);margin:0;font-size:.8rem}.sp__type{border:1px solid var(--accent);color:var(--accent);border-radius:999px;padding:.1rem .55rem;font-weight:650;display:inline-block}.sp__objective{color:var(--ink);margin:.8rem 0 0}.sp__pending{color:var(--ink-2);margin:.6rem 0 0;font-size:.88rem;font-style:italic}.sp__missing,.sp__assume{border:1px dashed var(--line-strong);border-radius:10px;margin:1rem 0 0;padding:.8rem 1rem}.sp__boxtitle{margin:0 0 .35rem;font-size:.92rem;font-weight:650}.sp__hint{color:var(--muted);margin:.35rem 0 0;font-size:.82rem}.sp__steps{counter-reset:none;gap:1rem;margin:1.1rem 0 0;padding:0;list-style:none;display:grid}.sp__step{border:1px solid var(--line);background:var(--paper);border-radius:10px;padding:1rem 1.1rem}.sp__do{margin:0 0 .6rem;font-size:1.02rem;line-height:1.35}.sp__grid{grid-template-columns:minmax(8rem,11rem) minmax(0,1fr);gap:.45rem 1rem;margin:0;display:grid}.sp__label{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;padding-top:.15rem;font-size:.76rem;font-weight:650}.sp__value{min-width:0;color:var(--ink-2);margin:0;font-size:.92rem;line-height:1.5}.sp__links,.sp__items{margin:0;padding-left:1.1rem}.sp__links li,.sp__items li{margin:.1rem 0}.sp__links a{color:var(--accent);overflow-wrap:anywhere;font-weight:600}.sp__open{align-items:center;min-height:44px;display:inline-flex}.sp__ctx,.sp__more{color:var(--muted);font-size:.84rem}.sp__tag,.sp__src{border:1px solid var(--line-strong);color:var(--muted);letter-spacing:.02em;white-space:nowrap;vertical-align:middle;border-radius:999px;margin-left:.45rem;padding:0 .4rem;font-size:.7rem;font-weight:600;display:inline-block}.sp__check{margin:0 0 .3rem}.sp__gap{color:var(--ink-2);margin:.6rem 0 0;font-size:.86rem}.sp__gap:before{content:"Missing resource: ";color:var(--ink);font-weight:650}.sp__outcome{color:var(--ink);margin:1.1rem 0 0}.sp__legend{color:var(--muted);margin:.7rem 0 0;font-size:.8rem}.dr-all{font-size:var(--step-0,1rem);color:var(--ink-2);margin:1.6rem 0 0}@media (width<=620px){.sp__grid{grid-template-columns:1fr;gap:.15rem}.sp__value{margin-bottom:.45rem}.dq textarea{min-height:6.5rem;font-size:1rem}.dq__submit-label{font-size:.95rem}}@media (prefers-reduced-motion:reduce){.dq.is-busy .dq__submit svg{animation:none}}@media print{.dq__examples,.dq__actions,.dr__new{display:none}}.dq--large{max-width:none;margin-top:clamp(1.6rem,3.5vw,2.4rem)}.dq--large .dq__field{border-width:1.5px;border-color:color-mix(in srgb, var(--accent) 45%, var(--line-strong));box-shadow:0 0 0 6px color-mix(in srgb, var(--accent) 7%, transparent), 0 24px 70px #0000003d;border-radius:22px}.dq--large .dq__field:focus-within{border-color:var(--accent);box-shadow:0 0 0 6px var(--accent-soft), 0 24px 70px #00000042}.dq--large textarea{border-radius:22px 22px 0 0;min-height:9.5rem;padding:1.4rem 1.5rem .5rem;font-size:clamp(1.05rem,1rem + .35vw,1.25rem)}.dq--large .dq__actions{padding:.6rem .8rem .8rem}.dq--large .dq__submit{min-height:52px;padding:0 1.5rem;font-size:1.04rem}.dq--large .dq__support,.dq--large .dq__hint,.dq--large .dq__status{text-align:center}.dq--compact{max-width:none;margin-top:0}.dq--compact textarea{min-height:5.8rem;font-size:1rem}.dq--compact .dq__hint{display:none}@media (width<=640px){.dq--large .dq__support,.dq--large .dq__hint,.dq--large .dq__status{text-align:left}.dq--large textarea{min-height:8rem;padding:1.1rem 1.1rem .4rem}.dq--large .dq__submit{flex:auto}}.lp{border:1px solid color-mix(in srgb, var(--accent) 40%, var(--line-strong));background:var(--surface);box-shadow:0 0 0 5px color-mix(in srgb, var(--accent) 6%, transparent);border-radius:18px;align-items:start;gap:1rem 2rem;padding:clamp(1rem,2vw,1.5rem);display:grid}.lp__eyebrow{color:var(--accent);letter-spacing:.12em;text-transform:uppercase;margin:0;font-size:.72rem;font-weight:700}.lp__title{margin:.35rem 0 .3rem;font-size:clamp(1.15rem,1.05rem + .5vw,1.45rem);line-height:1.2}.lp__lead{color:var(--ink-2);margin:0 0 .8rem;font-size:.92rem;line-height:1.45}.lp .dq__support{margin-top:.5rem;font-size:.86rem}.lp .dq__examples{margin-top:.4rem}.lp__intro,.lp__ask{min-width:0}@media (width>=900px){.lp{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr)}}@media (width<=899px){.lp{gap:.2rem}.lp__intro{display:contents}.lp__ask{order:1}.lp__intro .dq__examples{order:2;margin-top:.6rem}}.lp .dq__chip{min-height:38px;font-size:.8rem}.dq__support{color:var(--ink);margin:.7rem .2rem 0;font-size:.95rem;font-weight:600}.lc{border:1px solid var(--line-strong);background:var(--surface);border-radius:16px;padding:clamp(1.1rem,2.5vw,1.8rem)}.lc__eyebrow{color:var(--muted);letter-spacing:.1em;text-transform:uppercase;flex-wrap:wrap;align-items:center;gap:.4rem .6rem;margin:0 0 .5rem;font-size:.76rem;font-weight:650;display:flex}.lc__title{margin:0;font-size:clamp(1.4rem,1.2rem + 1vw,2rem);line-height:1.15}.lc__desc{max-width:70ch;color:var(--ink-2);margin:.6rem 0 0}.lc__facts{flex-wrap:wrap;gap:.6rem 1.8rem;margin:1rem 0 0;display:flex}.lc__facts dt{color:var(--muted);letter-spacing:.1em;text-transform:uppercase;font-size:.72rem;font-weight:650}.lc__facts dd{color:var(--ink);margin:.15rem 0 0;font-weight:600}.lc__depth{flex-wrap:wrap;align-items:center;gap:.45rem;margin:1rem 0 0;display:flex}.lc__depth-label{color:var(--muted);margin-right:.2rem;font-size:.85rem}.lc-chip{border:1px solid var(--line-strong);min-height:40px;color:var(--ink-2);font:inherit;cursor:pointer;background:0 0;border-radius:999px;padding:.4rem .85rem;font-size:.86rem}.lc-chip:hover{border-color:var(--accent);color:var(--ink)}.lc-chip[aria-pressed=true]{border-color:var(--accent);background:var(--accent);color:var(--on-accent);font-weight:650}.lc__status{min-height:1.3em;color:var(--ink-2);margin:.7rem 0 0;font-size:.9rem;font-style:italic}.lc__progress{margin:.8rem 0 0}.lc__bar{background:var(--paper-2);border:1px solid var(--line);border-radius:999px;height:8px;overflow:hidden}.lc__bar>span{background:var(--accent);height:100%;transition:width .3s var(--ease);display:block}.lc__progress-text{color:var(--muted);margin:.35rem 0 0;font-size:.82rem}.lc__body{grid-template-columns:minmax(14rem,19rem) minmax(0,1fr);align-items:start;gap:1.4rem;margin-top:1.4rem;display:grid}.lc__nav{top:calc(var(--header-h) + 1rem);max-height:calc(100vh - var(--header-h) - 2rem);border:1px solid var(--line);background:var(--paper);border-radius:12px;padding:.9rem;position:sticky;overflow:auto}.lc__nav-title{letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin:0 0 .5rem;font-size:.78rem;font-weight:650}.lc-navlink{width:100%;min-height:40px;color:var(--ink-2);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:8px;padding:.45rem .55rem;font-size:.88rem;line-height:1.3;display:block}.lc-navlink:hover{background:var(--paper-2);color:var(--ink)}.lc-navlink[aria-current=page]{background:var(--accent-soft);color:var(--ink);box-shadow:inset 3px 0 0 var(--accent);font-weight:650}.lc-navlink--done:before{content:"✓ ";color:var(--accent);font-weight:700}.lc-navlink--opened:before{content:"• ";color:var(--accent)}.lc-mod{margin-top:.4rem}.lc-mod__title{color:var(--ink);cursor:pointer;padding:.45rem .3rem;font-size:.9rem;font-weight:650}.lc-mod__lessons{margin:0;padding:0 0 0 .2rem;list-style:none}.lc__main{min-width:0}.lc__h,.lc-lesson__title{margin:0 0 .6rem;font-size:clamp(1.2rem,1.1rem + .6vw,1.6rem);line-height:1.2}.lc-lesson__title:focus{outline:none}.lc__sub{margin:1.2rem 0 .4rem;font-size:1rem}.lc-crumb{color:var(--muted);margin:0 0 .3rem;font-size:.8rem}.lc-objective{border-left:3px solid var(--accent);background:var(--paper-2);border-radius:0 8px 8px 0;margin:0 0 .6rem;padding:.7rem .9rem}.lc-lesson__status{min-height:1.2em;color:var(--ink-2);margin:.2rem 0 .6rem;font-size:.88rem;font-style:italic}.lc-actions{flex-wrap:wrap;gap:.4rem;margin:0 0 1rem;display:flex}.lc-list{color:var(--ink-2);margin:.3rem 0 .8rem;padding-left:1.2rem}.lc-list li{margin:.25rem 0}.lc-modlist{margin:0;padding-left:1.2rem}.lc-modlist li{margin:0 0 .8rem}.lc-modlist p{margin:.2rem 0 0}.lc-muted{color:var(--muted);font-size:.88rem}.lc-sec{border-top:1px solid var(--line);margin:1.4rem 0 0;padding-top:1rem}.lc-sec__title{flex-wrap:wrap;align-items:center;gap:.5rem;margin:0 0 .6rem;font-size:1.05rem;display:flex}.lc-sec p{color:var(--ink-2);max-width:75ch;line-height:1.6}.lc-mini{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:.9rem 0 .3rem;font-size:.8rem;font-weight:650}.lc-tag{border:1px solid var(--line-strong);color:var(--muted);letter-spacing:.02em;text-transform:none;vertical-align:middle;border-radius:999px;padding:.05rem .5rem;font-size:.7rem;font-weight:600;display:inline-block}.lc-tag--ai{border-color:var(--accent);color:var(--accent)}.lc-tag--source{color:var(--ink-2)}.lc-key{border:2px solid var(--accent);background:var(--accent-soft);border-radius:14px;margin:1.2rem 0 0;padding:clamp(1rem,2.2vw,1.4rem)}.lc-key__title{color:var(--accent);letter-spacing:.12em;margin:0 0 .5rem;font-size:.95rem;font-weight:800}.lc-key__row{margin-top:.8rem}.lc-key__label{color:var(--ink);letter-spacing:.08em;text-transform:uppercase;margin:0 0 .15rem;font-size:.78rem;font-weight:700}.lc-key__text{color:var(--ink);margin:0;font-size:1.02rem;line-height:1.55}.lc-key .lc-list{color:var(--ink)}.lc-key__remember{color:var(--ink);margin:.2rem 0 0;padding-left:1.3rem;font-weight:600}.lc-key__remember li{margin:.3rem 0}.lc-card{border:1px solid var(--line);background:var(--paper);border-radius:10px;margin:.7rem 0 0;padding:.9rem 1rem}.lc-card--tool{border-top:3px solid var(--accent)}.lc-card__kind{letter-spacing:.06em;text-transform:uppercase;font-size:.74rem;font-weight:650;color:var(--muted)!important;margin:0 0 .25rem!important}.lc-card__title{margin:0 0 .35rem;font-size:1rem}.lc-card__title a{color:var(--ink)}.lc-card p{margin:.3rem 0;font-size:.92rem}.lc-card__cta,.lc-inline{min-height:44px;color:var(--accent);align-items:center;font-weight:650;display:inline-flex}.lc-gap,.lc-gap__inline{border:1px dashed var(--line-strong);border-radius:10px;margin:1rem 0 0;padding:.8rem 1rem}.lc-gap__title{color:var(--ink);margin:0 0 .3rem;font-weight:650}.lc-checklist{margin:.3rem 0;padding:0;list-style:none}.lc-checklist li{margin:.35rem 0}.lc-checklist label{color:var(--ink-2);cursor:pointer;align-items:flex-start;gap:.5rem;display:flex}.lc-checklist input{accent-color:var(--accent);margin-top:.3rem}.lc-quiz__q{border:1px solid var(--line);border-radius:10px;margin:.8rem 0;padding:.7rem .9rem}.lc-quiz__q legend{color:var(--ink);padding:0 .3rem;font-weight:600}.lc-quiz__opt{min-height:36px;color:var(--ink-2);cursor:pointer;align-items:flex-start;gap:.5rem;padding:.2rem 0;display:flex}.lc-quiz__opt input{accent-color:var(--accent);margin-top:.3rem}.lc-quiz__fb{font-size:.9rem;margin:.3rem 0 0!important}.lc-quiz__fb.is-right{color:var(--ink)}.lc-quiz__fb.is-right:before{content:"✓ ";color:var(--accent);font-weight:700}.lc-quiz__fb.is-wrong:before{content:"✗ ";font-weight:700}.lc-quiz__result{font-weight:650;color:var(--ink)!important;margin:.5rem 0 0!important}.lc-nb{border:1px solid var(--line-strong);min-height:44px;color:var(--ink);font:inherit;cursor:pointer;background:0 0;border-radius:999px;padding:.5rem 1rem;font-size:.9rem;font-weight:600}.lc-nb:hover{border-color:var(--accent)}.lc-nb--primary{border-color:var(--accent);background:var(--accent);color:var(--on-accent)}.lc-nb.is-done{color:var(--accent)}.lc-nb:disabled{opacity:.6;cursor:progress}.lc-primary{border:1px solid var(--accent);background:var(--accent);min-height:48px;color:var(--on-accent);font:inherit;cursor:pointer;border-radius:999px;margin-top:1.2rem;padding:.6rem 1.4rem;font-weight:700}.lc-quiz .lc-nb{margin:.3rem .4rem 0 0}.lc-lessonnav{border-top:1px solid var(--line);flex-wrap:wrap;gap:.5rem;margin:1.6rem 0 0;padding-top:1rem;display:flex}.lc-ask__form{flex-wrap:wrap;gap:.5rem;display:flex}.lc-ask__form input{border:1px solid var(--line-strong);background:var(--paper);min-height:44px;color:var(--ink);font:inherit;border-radius:10px;flex:16rem;padding:.5rem .8rem}.lc-ask__form input:focus{outline:2px solid var(--accent);outline-offset:1px}.lc-ask__item{border:1px solid var(--line);border-radius:10px;margin:.8rem 0 0;padding:.7rem .9rem}.lc-ask__q{font-weight:650;color:var(--ink)!important;margin:0 0 .3rem!important}.lc-ask__a{margin:0 0 .4rem!important}.lc :is(button,a,input,summary):focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media (width<=860px){.lc__body{grid-template-columns:1fr}.lc__nav{max-height:none;position:static}}@media (prefers-reduced-motion:reduce){.lc__bar>span{transition:none}}@media print{.lc__depth,.lc-actions,.lc-ask,.lc-lessonnav,.lc__nav{display:none}.lc-key{background:0 0;border-color:#000}}
