:root{--ink: #171717;--paper: #fff8e8;--card: #fffdf5;--yellow: #ffd84d;--pink: #ff7ca8;--blue: #76c7ff;--green: #8ee26b;--lavender: #cbb7ff;--shadow: 8px 8px 0 var(--ink);--border: 3px solid var(--ink)}*{box-sizing:border-box}html{scrollbar-color:var(--ink) var(--paper);scrollbar-width:thin}body{margin:0;min-height:100vh;color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:linear-gradient(90deg,rgba(23,23,23,.07) 1px,transparent 1px),linear-gradient(rgba(23,23,23,.07) 1px,transparent 1px),var(--paper);background-size:28px 28px}body::-webkit-scrollbar{width:14px}body::-webkit-scrollbar-track{background:var(--paper);border-left:3px solid var(--ink)}body::-webkit-scrollbar-thumb{background:var(--yellow);border:3px solid var(--ink);border-radius:999px}body::-webkit-scrollbar-thumb:hover{background:var(--green)}.celebration{position:fixed;top:0;right:0;bottom:0;left:0;z-index:5;overflow:hidden;pointer-events:none}.confetti-rain{position:absolute;top:0;right:0;bottom:0;left:0}.confetti-piece{position:absolute;left:var(--confetti-left);top:-42px;width:calc(var(--confetti-size) * .55);height:var(--confetti-size);border:2px solid var(--ink);border-radius:3px;background:var(--confetti-color);box-shadow:3px 3px 0 var(--ink);animation:confetti-fall 4.8s cubic-bezier(.2,.75,.28,1) var(--confetti-delay) both}.confetti-piece.shape-1{width:var(--confetti-size);height:calc(var(--confetti-size) * .38);transform:rotate(18deg)}.confetti-piece.shape-2{border-radius:999px}.confetti-piece.shape-3{clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%);border-radius:2px}.celebration-burst{position:absolute;width:18px;aspect-ratio:1;border:3px solid var(--ink);border-radius:999px;background:var(--green);box-shadow:4px 4px 0 var(--ink);animation:burst-pop 2.8s ease-out .35s both}.burst-one{left:min(5vw,54px);top:132px}.burst-two{right:min(8vw,82px);top:232px;background:var(--pink);animation-delay:.65s}.burst-three{left:50%;top:92px;background:var(--blue);animation-delay:.9s}main{position:relative;z-index:10;width:min(1120px,calc(100vw - 32px));margin:0 auto;padding:34px 0 56px}.top{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:28px}h1{margin:0;font-size:clamp(34px,6vw,76px);line-height:.9;letter-spacing:0;text-transform:uppercase;max-width:780px}.finish-kicker{display:inline-flex;align-items:center;min-height:34px;margin-bottom:12px;padding:5px 12px;border:var(--border);border-radius:999px;background:var(--green);box-shadow:5px 5px 0 var(--ink);font-size:14px;font-weight:1000;line-height:1;text-transform:uppercase;animation:happy-bounce 1.9s ease-in-out .4s 2}.stamp-stack{display:grid;justify-items:end;gap:12px}.stamp{flex:0 0 auto;padding:13px 18px 12px;border:var(--border);border-radius:8px;background:var(--yellow);box-shadow:5px 5px 0 var(--ink);font-weight:950;font-size:15px;text-transform:uppercase;transform:rotate(2deg)}.finish-stamp{background:var(--pink);transform:rotate(-4deg);animation:stamp-party 2.4s ease-in-out .25s 2}.board{display:grid;gap:18px}.team-claim{display:flex;align-items:center;justify-content:center;min-height:58px;padding:12px 18px;border:var(--border);border-radius:8px;background:var(--green);box-shadow:6px 6px 0 var(--ink);font-size:clamp(18px,3vw,30px);font-weight:1000;line-height:1;text-align:center;text-transform:uppercase;animation:claim-glow 2.8s ease-in-out .65s 2}.loading{padding:14px 18px;border:var(--border);border-radius:8px;background:#fffdf5;box-shadow:5px 5px 0 var(--ink);font-weight:950;text-transform:uppercase}.lesson{display:grid;grid-template-columns:minmax(128px,180px) minmax(0,1fr) minmax(128px,180px);gap:14px;align-items:stretch;border:var(--border);border-radius:8px;background:var(--card);box-shadow:var(--shadow);padding:14px}.lesson:nth-of-type(2n){animation:lesson-celebrate-left 2.6s ease-out .8s both}.lesson:nth-of-type(odd){animation:lesson-celebrate-right 2.6s ease-out .95s both}.person{display:grid;align-content:center;justify-items:center;gap:12px;min-height:122px;padding:12px 10px;border:var(--border);border-radius:8px;background:#fff}.person.tante{background:var(--pink)}.person.max{background:var(--blue)}.check-pair{display:grid;gap:8px;width:min(118px,100%)}.check{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:8px;justify-items:start;width:100%;cursor:pointer;-webkit-user-select:none;user-select:none;font-weight:950;text-transform:uppercase;font-size:11px}.check input{position:absolute;opacity:0;pointer-events:none}.box{width:32px;aspect-ratio:1;border:var(--border);border-radius:6px;background:#fffdf5;box-shadow:4px 4px 0 var(--ink);display:grid;place-items:center;font-size:23px;line-height:1}.check input:focus-visible+.box{outline:4px solid var(--yellow);outline-offset:4px}.check input:checked+.box{background:var(--green)}.check input:checked+.box:after{content:"✓";font-weight:1000}.person-name{display:block;font-size:18px;font-weight:1000;line-height:1;text-transform:uppercase}.check-name{max-width:100%;line-height:1;text-align:left;white-space:nowrap}.center{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:center;min-height:122px;padding:18px;border:var(--border);border-radius:8px;background:var(--yellow)}.unavailable .center:after{content:"";position:absolute;left:12px;right:12px;top:50%;height:7px;border:2px solid var(--ink);border-radius:999px;background:var(--pink);box-shadow:3px 3px 0 var(--ink);transform:rotate(-5deg);transform-origin:center;pointer-events:none}.meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:10px}.tag{display:inline-flex;align-items:center;min-height:28px;padding:3px 9px;border:2px solid var(--ink);border-radius:999px;background:var(--green);font-size:12px;font-weight:950;text-transform:uppercase}.tag.hidden{visibility:hidden}h2{margin:0;font-size:clamp(25px,4vw,44px);line-height:.95;letter-spacing:0;text-transform:uppercase}.copy{margin:8px 0 0;font-size:15px;font-weight:700}.unavailable .lesson-copy h2,.unavailable .lesson-copy .copy{text-decoration-line:line-through;text-decoration-thickness:5px;text-decoration-color:var(--ink);text-decoration-skip-ink:none}.lesson-actions{display:grid;gap:12px}.watch{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:inline-grid;place-items:center;min-width:126px;min-height:54px;padding:0 16px;border:var(--border);border-radius:8px;background:var(--lavender);color:var(--ink);box-shadow:5px 5px 0 var(--ink);font-weight:950;font:inherit;text-decoration:none;text-transform:uppercase;white-space:nowrap;cursor:pointer}.notes-button{background:var(--green)}.expired-watch{background:#f2f0e7;cursor:default;text-decoration-line:line-through;text-decoration-thickness:3px;text-decoration-color:var(--ink)}.watch:active,.box:active{transform:translate(3px,3px);box-shadow:2px 2px 0 var(--ink)}.expired-watch:active{transform:none;box-shadow:5px 5px 0 var(--ink)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20;display:grid;place-items:center;padding:22px;background:#1717179e}.video-modal{width:min(960px,100%);max-height:calc(100vh - 44px);overflow:auto;border:var(--border);border-radius:8px;background:var(--card);box-shadow:10px 10px 0 var(--ink);padding:16px}.video-modal::-webkit-scrollbar{width:12px}.video-modal::-webkit-scrollbar-track{background:var(--card);border-left:2px solid var(--ink)}.video-modal::-webkit-scrollbar-thumb{background:var(--green);border:2px solid var(--ink);border-radius:999px}.notes-modal{width:min(760px,100%)}.modal-top{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:14px}h3{margin:8px 0 0;font-size:clamp(28px,5vw,48px);line-height:.95;text-transform:uppercase}.close-button{flex:0 0 auto;width:48px;aspect-ratio:1;border:var(--border);border-radius:8px;background:var(--pink);box-shadow:4px 4px 0 var(--ink);color:var(--ink);cursor:pointer;font-size:34px;font-weight:950;line-height:1}.close-button:active{transform:translate(2px,2px);box-shadow:2px 2px 0 var(--ink)}.video-frame{overflow:hidden;aspect-ratio:16 / 9;border:var(--border);border-radius:8px;background:var(--ink)}.video-frame iframe{display:block;width:100%;height:100%;border:0}.external-link{display:inline-flex;margin-top:14px;color:var(--ink);font-weight:950;text-transform:uppercase}.notes-content{display:grid;gap:14px}.notes-section{border:var(--border);border-radius:8px;background:var(--paper);box-shadow:5px 5px 0 var(--ink);padding:16px 18px}h4{margin:0 0 10px;font-size:20px;line-height:1;text-transform:uppercase}.notes-section ul{display:grid;gap:8px;margin:0;padding-left:20px}.notes-section li{font-size:16px;font-weight:750;line-height:1.35}.notes-empty{border:var(--border);border-radius:8px;background:var(--paper);box-shadow:5px 5px 0 var(--ink);padding:18px;font-weight:900}@media(max-width:780px){main{width:min(100vw - 22px,520px);padding-top:22px}.top{align-items:flex-start;flex-direction:column}.lesson{grid-template-columns:1fr 1fr}.center{grid-column:1 / -1;grid-row:1;grid-template-columns:1fr}.lesson-actions{grid-template-columns:1fr 1fr}.watch{min-width:0;width:100%;min-height:52px;padding:0 10px;font-size:14px}.modal-backdrop{padding:12px}.video-modal{max-height:calc(100vh - 24px);padding:12px}.notes-section{padding:14px}.notes-section li{font-size:15px}.person{min-height:116px;padding:10px 8px}.check-pair{width:min(112px,100%);gap:7px}.box{width:31px}.check{font-size:10px;gap:7px}.person-name{font-size:17px}h2,.copy{text-align:center}}@keyframes confetti-fall{0%{opacity:0;transform:translate3d(0,-40px,0) rotate(0)}8%{opacity:1}80%{opacity:1}to{opacity:0;transform:translate3d(-26px,118vh,0) rotate(520deg)}}@keyframes burst-pop{0%{opacity:0;transform:scale(.2) rotate(0)}22%{opacity:1;transform:scale(1.15) rotate(18deg)}to{opacity:0;transform:scale(1.8) rotate(80deg)}}@keyframes happy-bounce{0%,to{transform:translateY(0) rotate(-1deg)}42%{transform:translateY(-5px) rotate(2deg)}}@keyframes stamp-party{0%,to{transform:rotate(-4deg) scale(1)}45%{transform:rotate(-1deg) scale(1.04)}}@keyframes claim-glow{0%,to{box-shadow:6px 6px 0 var(--ink)}45%{box-shadow:10px 10px 0 var(--ink)}}@keyframes lesson-celebrate-left{0%{transform:translate(-10px)}38%,to{transform:translate(0)}}@keyframes lesson-celebrate-right{0%{transform:translate(10px)}38%,to{transform:translate(0)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important}.celebration{display:none}}
