.lh [data-m="1"],.lh [data-m=core]{--m-rgb:146 95 255;--m-tone:#b79bff}.lh [data-m="2"],.lh [data-m="10"]{--m-rgb:110 168 255;--m-tone:#9cc4ff}.lh [data-m="3"],.lh [data-m="11"]{--m-rgb:78 245 197;--m-tone:#4ef5c5}.lh [data-m="4"],.lh [data-m="13"]{--m-rgb:245 194 107;--m-tone:#f5c26b}.lh [data-m="5"],.lh [data-m="12"]{--m-rgb:255 99 158;--m-tone:#ff7fb0}.lh [data-m="6"]{--m-rgb:64 214 222;--m-tone:#6fe3ea}.lh [data-m="7"]{--m-rgb:214 110 240;--m-tone:#e08cf5}.lh [data-m="8"]{--m-rgb:201 181 255;--m-tone:#d9ccff}.lh [data-m="9"]{--m-rgb:255 140 110;--m-tone:#ff9f85}.lh :is(.hub-tile,.lh-gate){--rgb:var(--m-rgb,146 95 255);--tone:var(--m-tone,#b79bff)}.lh-meter-wrap{margin:22px 0 18px}.lh-meter{background:linear-gradient(90deg,#c1aaff4d,#925fff1f 50%,#925fff0d);border-radius:2px;height:3px;position:relative}.lh-meter-fill{border-radius:inherit;transform-origin:0;background:linear-gradient(90deg, var(--accent), var(--accent2) 60%, var(--bull));transition:transform .7s var(--ease);position:absolute;inset:0;box-shadow:0 0 12px #925fff73}.lh-tick{background:var(--line3);border-radius:1px;width:2px;height:9px;position:absolute;top:-3px}.lh-tick[data-on]{background:var(--bull);box-shadow:0 0 6px var(--bull)}.lh-meter-text{min-height:18px;color:var(--subtle);flex-wrap:wrap;justify-content:space-between;gap:2px 16px;margin-top:10px;font-size:12px;display:flex}.lh-meter-text b{color:var(--ink);font-variant-numeric:tabular-nums;font-weight:600}.lh-hero{--fade:30%;background:radial-gradient(60% 120% at 88% 10%, rgb(var(--rgb) / .14), transparent 64%), linear-gradient(160deg, #120d1c, #060509 70%);border-color:rgb(var(--rgb) / .4);grid-template-columns:minmax(0,62%) minmax(0,1fr);padding:26px 28px 22px;display:grid}.lh-hero-copy{flex-direction:column;align-items:flex-start;gap:10px;min-height:196px;display:flex}.lh-kicker{color:var(--tone);font-size:13px;font-weight:600}.lh-hero-title{letter-spacing:-.05em;color:var(--ink);text-wrap:balance;text-shadow:0 2px 14px #060509;font-size:clamp(30px,3.5vw,46px);font-weight:620;line-height:1.05}.lh-hero-title[data-long]{letter-spacing:-.035em;font-size:clamp(22px,2.3vw,29px);line-height:1.2}.lh-id{color:var(--tone);font-variant-numeric:tabular-nums;margin-right:.28em;font-weight:520}.lh-hero-line{max-width:52ch;min-height:1.6em;color:var(--muted);text-shadow:0 1px 8px #060509;font-size:15px;line-height:1.6}.lh-actions{flex-wrap:wrap;align-items:center;gap:10px 18px;margin-top:auto;padding-top:6px;display:flex}.lh-core-ok{color:var(--bull);font-size:13px}.lh-hero-art.hub-art{contain-intrinsic-size:auto 320px;inset:0 0 0 52%}.lh-hero-art svg{padding:18px 22px 18px 0}.lh-stats{grid-column:1;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:20px;display:grid}.lh-stat{border-radius:var(--r-md);border:1px solid var(--line);background:#09080ec7;min-width:0;padding:10px 12px}.lh-stat[data-tone=accent]{border-color:rgb(var(--rgb) / .4)}.lh-stat[data-tone=bull]{border-color:#4ef5c559}.lh-stat dt{color:var(--subtle);font-size:11.5px}.lh-stat dd{color:var(--ink);margin-top:2px;font-size:13.5px;line-height:1.4}.lh-stat dd a{color:inherit;border-radius:4px;text-decoration:none;display:block}.lh-stat dd a:hover{color:var(--accent2)}.lh-stat dd a:focus-visible{outline:2px solid var(--accent2);outline-offset:3px}.lh-stat small{color:var(--subtle);font-size:12px}.lh-l1,.lh-stat small{white-space:nowrap;text-overflow:ellipsis;display:block;overflow:hidden}.lh-id-sm{color:var(--accent2);font-variant-numeric:tabular-nums}.lh-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px 12px;margin-top:16px;display:grid}.lh-cell{flex-direction:column;min-width:0;display:flex}.lh-cell-core,.lh-cell[data-m="13"]{grid-column:1/-1}.lh-cell[data-m="13"]{flex-direction:row;gap:12px}.lh-cell[data-m="13"]>.lh-tile{flex:2 1 0}.lh-cell[data-m="13"]>.lh-gate{flex:1 1 0;align-self:stretch;margin-top:0}.lh-cell[data-m="13"]>.lh-gate:before{width:12px;height:1px;top:50%;left:-13px}.lh-cell[data-m="13"] .lh-art.hub-art{height:auto;inset:0 0 52px 42%}.lh-tile{min-height:230px;transition:transform var(--dur) var(--ease), border-color var(--dur) var(--ease), box-shadow var(--dur) var(--ease);flex-direction:column;flex:auto;padding:18px 20px 0;display:flex}.lh-tile[data-here]{border-color:rgb(var(--rgb) / .55);box-shadow:var(--hi), var(--shadow-2), 0 0 26px rgb(var(--rgb) / .14)}.lh-tile:not(:has(details[open])):hover{transform:translateY(calc(var(--lift) * 2))}.lh-tile:has(.hub-link:active){transition-duration:var(--dur-press);transform:scale(.99)}.lh-top{align-items:center;gap:8px;min-height:30px;display:flex}.lh-num{color:var(--tone);letter-spacing:-.06em;font-variant-numeric:tabular-nums;text-shadow:0 0 18px rgb(var(--rgb) / .45);margin-right:2px;font-size:30px;font-weight:650;line-height:1}.lh-pill,.lh-here{border-radius:999px;padding:1px 7px;font-size:10.5px;font-weight:600}.lh-pill{border:1px solid var(--line2);color:var(--subtle)}.lh-here{background:rgb(var(--rgb) / .18);color:var(--tone)}.lh-name{width:max-content;max-width:min(100%,11em);color:var(--ink);letter-spacing:-.04em;text-wrap:balance;text-shadow:0 1px 10px #060509;margin-top:12px;font-size:21px;font-weight:600;line-height:1.15}.lh-goal{max-width:30ch;color:var(--muted);text-shadow:0 1px 8px #060509;margin-top:6px;font-size:12.5px;line-height:1.55}.lh-foot{align-items:center;gap:10px;margin-top:auto;padding-top:14px;display:flex}.lh-status{flex:1;min-width:0}.lh-status[data-s=new]{color:var(--subtle)}.lh-status[data-s=new]:before{background:var(--line3);box-shadow:none}.lh-status:is([data-s=practiced],[data-s=passed]):before{background:var(--bull);box-shadow:0 0 10px var(--bull)}.lh-status[data-s=passed]{color:var(--bull)}.lh-count{color:var(--subtle);font-variant-numeric:tabular-nums;font-size:12px}.lh-mini{background:#ffffff14;border-radius:2px;width:56px;height:3px;overflow:hidden}.lh-mini>span{background:var(--tone);transform-origin:0;height:100%;transition:transform .7s var(--ease);display:block}.lh-mini>span[data-done]{background:var(--bull)}.lh-lessons{z-index:2;border-top:1px solid rgb(var(--rgb) / .14);margin:12px -20px 0;position:relative}.lh-lessons summary{min-height:40px;color:var(--muted);cursor:pointer;border-radius:0 0 var(--r-xl) var(--r-xl);justify-content:space-between;align-items:center;padding:0 20px;font-size:12.5px;list-style:none;display:flex}.lh-lessons summary::-webkit-details-marker{display:none}.lh-lessons summary:after{content:"";width:7px;height:7px;transition:transform var(--dur) var(--ease);border-bottom:1.5px solid;border-right:1.5px solid;margin-top:-3px;transform:rotate(45deg)}.lh-lessons[open] summary{border-radius:0}.lh-lessons[open] summary:after{margin-top:3px;transform:rotate(-135deg)}.lh-lessons summary:hover{color:var(--ink)}.lh-lessons summary:focus-visible{outline:2px solid var(--tone);outline-offset:-2px}.lh-lessons ol{padding:0 10px 12px}.lh-lessons li a{border-radius:var(--r-sm);color:var(--muted);transition:background var(--dur) var(--ease), color var(--dur) var(--ease);align-items:center;gap:10px;padding:4px 10px;font-size:13px;text-decoration:none;display:flex}.lh-lessons li a:hover{background:var(--panel3);color:var(--ink)}.lh-lessons li a:focus-visible{outline:2px solid var(--tone);outline-offset:-2px}.lh-mark{font-variant-numeric:tabular-nums;border-width:1px;border-radius:50%;flex:none;justify-content:center;align-items:center;width:26px;height:26px;font-size:10px;display:flex}.lh-art.hub-art{contain-intrinsic-size:auto 152px;height:152px;inset:0 0 auto 40%}.lh-art svg{padding:10px 8px 0 0}.lh-gate{border-radius:var(--r-lg);border:1px dashed rgb(var(--rgb) / .3);min-height:62px;color:inherit;background:#09080e99;align-items:center;gap:12px;margin-top:9px;padding:10px 14px;text-decoration:none;display:flex;position:relative}.lh-gate:before{content:"";background:rgb(var(--rgb) / .35);width:1px;height:9px;position:absolute;top:-10px;left:30px}.lh-cell-core .lh-gate,.lh-intro{margin-top:0}.lh-cell-core .lh-gate:before,.lh-intro:before{content:none}.lh-gate-icon{border:1px solid rgb(var(--rgb) / .25);width:34px;height:34px;color:var(--subtle);border-radius:10px;flex:none;place-items:center;display:grid}.lh-gate-text{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.lh-gate-name{color:var(--ink);font-size:13.5px;font-weight:600}.lh-gate-meta{color:var(--subtle);font-size:12px;line-height:1.45}.lh-gate-state{color:var(--subtle);font-variant-numeric:tabular-nums;flex:none;font-size:12px;font-weight:600}.lh-best{color:var(--subtle);font-weight:500}.lh-gate[data-state=ready]{border-style:solid;border-color:rgb(var(--rgb) / .55);background:radial-gradient(120% 160% at 0% 50%, rgb(var(--rgb) / .13), transparent 60%), #09080eb8;box-shadow:0 0 22px rgb(var(--rgb) / .12)}.lh-gate[data-state=ready] :is(.lh-gate-icon,.lh-gate-state){color:var(--tone)}.lh-gate[data-state=ready] .lh-gate-icon{border-color:rgb(var(--rgb) / .55)}.lh-gate[data-state=passed]{border-style:solid;border-color:#4ef5c552}.lh-gate[data-state=passed] :is(.lh-gate-icon,.lh-gate-state){color:var(--bull)}.lh-gate[data-state=passed] .lh-gate-icon{border-color:#4ef5c559}.lh-gate.card-link:hover{border-color:rgb(var(--rgb) / .7);box-shadow:0 0 22px rgb(var(--rgb) / .2)}.lh-gate.card-link:focus-visible{box-shadow:0 0 0 2px var(--bg), 0 0 0 4px var(--tone), 0 0 22px rgb(var(--rgb) / .2)}.lh-gate-ghost{border-color:var(--line2);background:0 0;min-height:62px}.lh-gate-ghost:before{background:var(--line2)}.lh-shackle{transition:transform .22s var(--ease)}.lh-gate:is(:hover,:focus-visible) .lh-shackle{transform:translateY(-1.5px)}.lh-intro{--rgb:146 95 255;--tone:var(--accent2);border-style:solid;border-color:var(--line2);margin-top:16px}.lh-legend{color:var(--subtle);flex-wrap:wrap;justify-content:flex-end;gap:4px 14px;margin-top:14px;font-size:12px;display:flex}@media (max-width:1279px){.lh-hero-art.hub-art{inset:0 0 96px 50%}.lh-stats{grid-column:1/-1}.lh-goal{max-width:24ch}.lh-art.hub-art{inset:0 0 auto 46%}}@media (max-width:1099px){.lh-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.lh-cell[data-m="3"],.lh-cell-core{grid-column:1/-1}.lh-cell[data-m="13"]{flex-direction:column;grid-column:auto;gap:0}.lh-cell[data-m="13"]>.lh-tile{flex:auto}.lh-cell[data-m="13"]>.lh-gate{flex:none;margin-top:9px}.lh-cell[data-m="13"]>.lh-gate:before{width:1px;height:9px;top:-10px;left:30px}.lh-cell[data-m="13"] .lh-art.hub-art{height:152px;inset:0 0 auto 40%}.lh-hero{grid-template-columns:minmax(0,66%) minmax(0,1fr)}.lh-goal{max-width:30ch}.lh-art.hub-art{inset:0 0 auto 40%}}@media (max-width:767px){.lh-hero{grid-template-columns:minmax(0,1fr);padding:0 18px 18px}.lh-hero-copy{min-height:0}.lh-hero-art.hub-art{order:-1;height:128px;margin:0 -18px 4px;position:relative;inset:auto;-webkit-mask-image:linear-gradient(#0000,#000 30% 70%,#0000);mask-image:linear-gradient(#0000,#000 30% 70%,#0000)}.lh-hero-art svg{aspect-ratio:4/3;width:auto;margin:0 auto;padding:10px 0 0}.lh-hero-title{min-height:2.1em;font-size:28px}.lh-hero-line{min-height:3.1em;font-size:14px;line-height:1.55}.lh-actions{width:100%}.lh-actions .btn{flex:100%}.lh-stats{grid-template-columns:1fr;gap:6px;margin-top:16px}.lh-stat{align-items:baseline;gap:10px;padding:8px 10px;display:flex}.lh-stat dt{white-space:nowrap;flex:none;width:8.4em}.lh-stat dd{flex:1;min-width:0;margin-top:0;font-size:13px}}@media (max-width:639px){.lh-grid{grid-template-columns:1fr;gap:14px}.lh-meter-wrap{margin:16px 0 14px}.lh-tile{min-height:188px;padding:16px 16px 0}.lh-lessons{margin:10px -16px 0}.lh-lessons summary{padding:0 16px}:is(.lh-cell,.lh-cell[data-m="13"]) .lh-art.hub-art{height:136px;inset:0 0 auto 42%}.lh-gate-meta{font-size:11.5px}.lh-legend{justify-content:flex-start}}.lh-hero .ta-lit{opacity:1}.lh .la-ghost{opacity:.45}.lh :is(.la-form,.la-poke){transform-box:fill-box;transform-origin:bottom}.lh .la-draw{transform-box:fill-box;transform-origin:0}.lh .la-ping{opacity:0;transform-box:fill-box;transform-origin:50%}.lh :is(.la-back,.la-front){transition:transform .42s var(--ease)}@media (prefers-reduced-motion:no-preference){:is(.hub-tile:hover,.hub-tile:has(:focus-visible),.lh-hero) .la-form{animation:la-form .9s var(--ease) backwards}:is(.hub-tile:hover,.hub-tile:has(:focus-visible),.lh-hero) .la-draw{animation:la-draw .9s var(--ease) backwards}:is(.hub-tile:hover,.hub-tile:has(:focus-visible),.lh-hero) .la-poke{animation:la-poke .52s .12s var(--ease) backwards}:is(.hub-tile:hover,.hub-tile:has(:focus-visible),.lh-hero) .la-dip{animation:la-dip .9s var(--ease) backwards}:is(.hub-tile:hover,.hub-tile:has(:focus-visible),.lh-hero) .la-ping{animation:2s ease-out .4s infinite la-ping}:is(.hub-tile:hover,.hub-tile:has(:focus-visible),.lh-hero) .la-ping.la-late{animation-delay:.9s}:is(.hub-tile:hover,.hub-tile:has(:focus-visible),.lh-hero) .la-run{animation:la-run 2.2s var(--ease) infinite}:is(.hub-tile:hover,.hub-tile:has(:focus-visible),.lh-hero) .la-now{animation:la-now 3.2s var(--ease) infinite}:is(.hub-tile:hover,.hub-tile:has(:focus-visible),.lh-hero) .la-fall{animation:la-fall 2.4s var(--ease) infinite}:is(.hub-tile:hover,.hub-tile:has(:focus-visible),.lh-hero) .la-climb{animation:la-climb 2.6s var(--ease) infinite}.lh-hero:not(:hover,:has(:focus-visible)) :is(.la-ping,.la-run,.la-now,.la-fall,.la-climb){animation-iteration-count:2}:is(.hub-tile:hover,.hub-tile:has(:focus-visible)) .la-back{transform:translate(12px,-9px)}:is(.hub-tile:hover,.hub-tile:has(:focus-visible)) .la-front{transform:translate(-12px,9px)}:is(.hub-tile:hover,.hub-tile:has(:focus-visible)) .la-late{transition-delay:.38s}:is(.hub-tile:hover,.hub-tile:has(:focus-visible)) .la-d2{transition-delay:.18s}:is(.hub-tile:hover,.hub-tile:has(:focus-visible)) .la-d3{transition-delay:.36s}:is(.hub-tile:hover,.hub-tile:has(:focus-visible)) .la-d4{transition-delay:.54s}}@media (prefers-reduced-motion:reduce){.lh-meter-fill,.lh-mini>span,.lh-tile,.lh-shackle{transition:none}}@keyframes la-form{0%{transform:scaleY(.15)}}@keyframes la-draw{0%{transform:scaleX(0)}}@keyframes la-poke{0%{transform:scaleY(0)}}@keyframes la-dip{0%{opacity:0;transform:translateY(-26px)}}@keyframes la-ping{0%{opacity:.9;transform:scale(1)}60%,to{opacity:0;transform:scale(3)}}@keyframes la-run{0%{transform:none}70%{opacity:1;transform:translate(26px,38px)}to{opacity:0;transform:translate(26px,38px)}}@keyframes la-now{0%{transform:none}85%{opacity:1;transform:translate(184px)}to{opacity:0;transform:translate(184px)}}@keyframes la-fall{0%{transform:none}55%,80%{opacity:1;transform:translate(40px,54px)}to{opacity:0;transform:translate(40px,54px)}}@keyframes la-climb{0%{transform:none}55%,80%{opacity:1;transform:translateY(-52px)}to{opacity:0;transform:translateY(-52px)}}
