@property --lp-h{syntax:"<length>";inherits:true;initial-value:0}@property --lp-top{syntax:"<color>";inherits:true;initial-value:#0000}@property --px{syntax:"<number>";inherits:true;initial-value:0}@property --py{syntax:"<number>";inherits:true;initial-value:0}:root{--ease-out-expo:cubic-bezier(.16, 1, .3, 1);--ease-spring:cubic-bezier(.34, 1.56, .64, 1)}.lp-block{--hf:0;--lift:1;--lp-h:calc(var(--cell) * var(--hf) * var(--lift));width:var(--cell);height:var(--cell);transform-style:preserve-3d;transition:--lp-h .85s var(--ease-spring) var(--d,0s), --lp-top .45s ease var(--d,0s);position:relative}@starting-style{.lp-block{--lp-h:0px}}[data-lesson=done]{--hf:.3;--lp-top:color-mix(in oklab, var(--mint) 78%, var(--surface))}[data-lesson=late]{--hf:.3;--lp-top:color-mix(in oklab, var(--warn) 72%, var(--surface))}[data-lesson=today]{--hf:.95;--lp-top:var(--brand)}[data-lesson=planned]{--hf:.2;--lp-top:var(--surface)}[data-lesson=off]{--hf:0;--lp-top:transparent}.lp-swatch{background:var(--lp-top);width:10px;height:10px;box-shadow:inset 0 0 0 1px color-mix(in oklab, var(--lp-top) 70%, var(--text));border-radius:3px;display:block}.lp-face{display:block;position:absolute}.lp-top{border-radius:calc(var(--cell) * .14);background:var(--lp-top);box-shadow:inset 0 0 0 1px color-mix(in oklab, var(--lp-top) 82%, var(--text));transform:translateZ(var(--lp-h));place-items:center;display:grid;inset:0}.lp-front{width:100%;height:var(--lp-h);background:color-mix(in oklab, var(--lp-top) 80%, #000);transform-origin:top;top:100%;left:0;transform:rotateX(90deg)}.lp-left{width:var(--lp-h);background:color-mix(in oklab, var(--lp-top) 64%, #000);transform-origin:100%;height:100%;top:0;right:100%;transform:rotateY(90deg)}[data-lesson=today] .lp-top{color:var(--brand-contrast)}[data-lesson=off] .lp-top{box-shadow:none;outline:1px dashed var(--border-strong);outline-offset:-1px}.lp-wrap{isolation:isolate;position:relative;container-type:inline-size}.lp-wrap:before{z-index:-1;content:"";background:radial-gradient(closest-side, color-mix(in oklab, var(--brand) 16%, transparent), transparent);filter:blur(24px);position:absolute;inset:8% 4% 14%}.lp{--cell:min(46px, 6.8cqi);--gap:calc(var(--cell) * .22);--pad:calc(var(--cell) * .5);--thick:calc(var(--cell) * .34);--ax:calc(54deg - var(--py) * 7deg);--az:calc(-34deg + var(--px) * 9deg);height:calc(var(--cell) * 10.5);perspective:calc(var(--cell) * 42);transition:--px 1.1s var(--ease-out-expo), --py 1.1s var(--ease-out-expo);place-items:center;display:grid;position:relative}.lp-float{transform-style:preserve-3d;animation:8s ease-in-out infinite lp-float}.lp-board{padding:var(--pad);transform:rotateX(var(--ax)) rotateZ(var(--az));transform-style:preserve-3d;position:relative}.lp-grid{grid-template-columns:calc(var(--cell) * 1.9) repeat(8, var(--cell));gap:var(--gap);transform-style:preserve-3d;display:grid;position:relative}.lp-plate{transform-style:preserve-3d;position:absolute;inset:0;transform:translateZ(-1px)}.lp-plate>span{display:block;position:absolute}.lp-plate-top{border-radius:var(--radius);background:var(--surface-muted);box-shadow:inset 0 0 0 1px var(--border);inset:0}.lp-plate-front{top:100%;right:var(--radius);left:var(--radius);height:var(--thick);background:color-mix(in oklab, var(--surface-muted) 82%, #000);transform-origin:top;transform:rotateX(-90deg)}.lp-plate-left{top:var(--radius);right:100%;bottom:var(--radius);width:var(--thick);background:color-mix(in oklab, var(--surface-muted) 68%, #000);transform-origin:100%;transform:rotateY(-90deg)}.lp-plate-shadow{border-radius:var(--radius);filter:blur(22px);transform:translateZ(calc(var(--thick) * -1 - 14px));background:#17151a29;inset:6%}:root[data-theme=dark] .lp-plate-shadow{background:#0000008c}.lp-label{padding-right:calc(var(--cell) * .2);color:var(--text-muted);font-size:calc(var(--cell) * .3);white-space:nowrap;justify-content:flex-end;align-items:center;font-weight:600;transition:opacity .4s;display:flex}.lp-label[data-hidden]{opacity:0}.lp-pin{width:0;height:0;transform:translateZ(var(--lp-h)) rotateZ(calc(var(--az) * -1)) rotateX(calc(var(--ax) * -1));transform-style:preserve-3d;position:absolute;top:50%;left:50%}.lp-pin-card{bottom:calc(var(--cell) * .55);animation:lp-pop .7s var(--ease-out-expo) .9s both;position:absolute;left:0;translate:-50%}.lp-pin-card:after{width:1px;height:calc(var(--cell) * .55);content:"";background:var(--border-strong);position:absolute;top:100%;left:50%}.lp-chip{z-index:2;translate:calc(var(--px) * var(--depth,10) * 1px) calc(var(--py) * var(--depth,10) * 1px);animation:7s ease-in-out infinite lp-bob;animation-delay:var(--bob-delay,0s);position:absolute}.lp-swap{animation:lp-swap .6s var(--ease-out-expo) both}@keyframes lp-float{0%,to{transform:translateY(0)}50%{transform:translateY(calc(var(--cell) * -.22))}}@keyframes lp-bob{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@keyframes lp-swap{0%{opacity:0;transform:perspective(500px)rotateX(-75deg)translateY(6px)}to{opacity:1;transform:none}}@keyframes lp-pop{0%{opacity:0;transform:translateY(10px)scale(.92)}to{opacity:1;transform:none}}.mini{--gap:calc(var(--cell) * .24);perspective:calc(var(--cell) * 30);place-items:center;display:grid}.mini-board{align-items:flex-start;gap:var(--gap);transform-style:preserve-3d;display:flex;transform:rotateX(56deg)rotate(-36deg)}.mini-label{font-family:var(--font-display);font-size:calc(var(--cell) * .42);line-height:1;transform:rotate(36deg)}.seg-card:hover .lp-block,.seg-card:focus-visible .lp-block{--lift:1.7}.hero-mode{color:var(--text-faint);text-align:left;transition:color .45s ease, transform .7s var(--ease-out-expo);display:block}.hero-mode:hover{color:var(--text-muted)}.hero-mode[aria-pressed=true]{color:var(--brand);transform:translate(.06em)}.enter{animation:enter-up .9s var(--ease-out-expo) both;animation-delay:calc(var(--i,0) * 90ms)}@keyframes enter-up{0%{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}.tilt{transform:perspective(1100px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));transition:transform .7s var(--ease-out-expo), border-color .15s ease;position:relative}.tilt[data-tilting]{transition:transform .15s linear,border-color .15s}.tilt:before,.tilt:after{pointer-events:none;content:"";border-radius:inherit;opacity:0;transition:opacity .35s;position:absolute}.tilt:after{background:radial-gradient(380px circle at var(--mx,50%) var(--my,50%), color-mix(in oklab, var(--brand) 8%, transparent), transparent 65%);inset:0}.tilt:before{background:radial-gradient(260px circle at var(--mx,50%) var(--my,50%), color-mix(in oklab, var(--brand) 60%, transparent), transparent 70%);padding:1px;inset:-1px;-webkit-mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);-webkit-mask-position:0 0,0 0;mask-position:0 0,0 0;-webkit-mask-size:auto,auto;mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}.tilt[data-tilting]:before,.tilt[data-tilting]:after{opacity:1}.tools{perspective:1400px}.tools-grid{transform-style:preserve-3d;transition:transform 1s var(--ease-out-expo);transform:rotateX(18deg)rotateY(-16deg)rotate(3deg)}.tools-grid>*{transform:translateZ(calc(var(--z,0) * 1px));transition:transform 1s var(--ease-out-expo)}.tools:hover .tools-grid{transform:rotateX(8deg)rotateY(-6deg)rotate(1deg)}.tools:hover .tools-grid>*{transform:translateZ(calc(var(--z,0) * 1.8px))}@media (max-width:767px){.tools-grid,.tools-grid>*,.tools:hover .tools-grid,.tools:hover .tools-grid>*{transform:none}}@media (prefers-reduced-motion:no-preference){@supports (animation-timeline:view()){.reveal{animation:linear both reveal-up;animation-timeline:view();animation-range:entry entry min(85%,240px)}.reveal-group>.reveal:nth-child(3n+2){animation-range:entry 4% entry min(92%,280px)}.reveal-group>.reveal:nth-child(3n+3){animation-range:entry 8% entry min(100%,320px)}.draw-line{transform-origin:0;animation:linear both draw-line;animation-timeline:view();animation-range:entry 30% cover 50%}}}@keyframes reveal-up{0%{opacity:0;transform:perspective(900px)translateY(48px)rotateX(14deg)}to{opacity:1;transform:none}}@keyframes draw-line{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@media (prefers-reduced-motion:reduce){.lp,.lp-block,.hero-mode,.tilt,.tools-grid,.tools-grid>*{transition-duration:1ms;transition-delay:0s}.lp-float,.lp-chip,.lp-swap,.lp-pin-card,.enter{animation:none}}
