:root{color-scheme:light;--ink:#192921;--paper:#f7f5eb;--green:#245d43;--lime:#d4f76b}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:system-ui,sans-serif}header{max-width:1180px;margin:auto;padding:28px 32px;display:flex;align-items:center;justify-content:space-between;gap:24px;border-bottom:2px solid var(--ink)}a{color:inherit}.brand{font-weight:950;font-size:22px;letter-spacing:-1px;text-decoration:none}.brand span{color:var(--green)}nav{display:flex;gap:22px;font-size:14px;font-weight:700}nav a{text-decoration:none;padding:8px 0}nav a[aria-current]{border-bottom:3px solid var(--green)}main{max-width:1180px;padding:40px 32px 80px;margin:auto}.hero{padding:44px 0 72px;position:relative;max-width:100%}.tag{font-size:12px;font-weight:850;letter-spacing:2px;display:block}h1{font-size:clamp(56px,9vw,118px);letter-spacing:-.07em;line-height:1;margin:24px 0;max-width:850px}em{font-family:Georgia,serif;color:var(--green);font-weight:400}h2{font-size:36px;letter-spacing:-1.5px}h3{font-size:32px;letter-spacing:-1px;margin:20px 0}p{line-height:1.65}.intro{font-size:20px;max-width:580px}.button{display:inline-block;background:var(--green);color:white;padding:15px 24px;border:0;border-radius:10px;font-weight:800;text-decoration:none;font-size:16px;cursor:pointer}.sticker{position:absolute;right:60px;top:110px;background:var(--lime);border:2px solid var(--ink);border-radius:50%;width:170px;height:170px;display:grid;place-content:center;text-align:center;font-weight:950;transform:rotate(12deg);font-size:25px}.cards{display:grid;grid-template-columns:1fr 1fr;gap:24px}.card{border:2px solid var(--ink);padding:32px;border-radius:20px;background:#fffdf7;text-decoration:none}.game-card{background:var(--lime);transition:transform .2s}.game-card:hover{transform:translateY(-5px)}.icon{display:block;font-size:60px;margin-bottom:24px}.soon{background:#ebe8df}.game-title{font-size:clamp(48px,7vw,86px)}.game-layout{display:grid;grid-template-columns:minmax(0,560px) 1fr;gap:32px;align-items:start}.game-panel{padding:16px;background:white;border:2px solid var(--ink);border-radius:20px;text-align:center}canvas{display:block;width:100%;height:auto;border-radius:12px;touch-action:none}.scorebar,.controls,.save-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.scorebar{padding:4px 0 16px;font-size:12px}.scorebar strong{font-size:22px;margin-left:8px}button{cursor:pointer;border:2px solid var(--ink);background:var(--paper);border-radius:10px;padding:10px 18px;font-weight:750;color:var(--ink)}button:disabled{opacity:.5;cursor:default}.controls button:first-child,.controls button:last-child{font-size:26px;touch-action:none}.hint{font-size:12px;color:#566358}.leaderboard ol{padding-left:24px}.leaderboard li{padding:12px 0;border-bottom:1px solid #ddd;font-weight:700}.leaderboard li span{float:right;font-variant-numeric:tabular-nums}.leaderboard h2{font-size:28px}input{min-width:0;width:100%;padding:12px;border:2px solid var(--ink);border-radius:10px;font:inherit}label{display:block;text-align:left;font-size:13px;margin:12px 0}footer{padding:24px 32px;border-top:2px solid var(--ink);max-width:1180px;margin:auto;font-size:13px}a:focus-visible,button:focus-visible,canvas:focus-visible,input:focus-visible{outline:3px solid #b24815;outline-offset:4px}[hidden]{display:none!important}@media(max-width:800px){.sticker{display:none}.game-layout{grid-template-columns:1fr}.hero{padding-top:12px}}@media(max-width:540px){header{padding:20px;align-items:flex-start;flex-direction:column;gap:12px}main{padding:24px 20px 50px}nav{gap:18px}.cards{grid-template-columns:1fr}.card{padding:24px}.intro{font-size:18px}.save-row{flex-wrap:wrap}}
.karate-card{background:#f2c4b5;transition:transform .2s}.karate-card:hover{transform:translateY(-5px)}
/* Sean's YouTube feed */
.scorebar{flex-wrap:wrap}
.home-videos{margin-top:72px;padding-top:40px;border-top:2px solid var(--ink)}
.video-heading{padding:20px 0 48px}
.section-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:16px}
.section-heading h2{margin:8px 0}
.youtube-button{background:#b73632}
.video-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.video-card{display:block;width:100%;padding:0;overflow:hidden;border:2px solid var(--ink);border-radius:18px;background:#fffdf7;text-align:left;transition:transform .2s}
.video-card:hover{transform:translateY(-4px)}
.video-thumbnail{display:block;position:relative;aspect-ratio:16/9;background:#e9e6d9;overflow:hidden}
.video-thumbnail img{display:block;width:100%;height:100%;object-fit:cover}
.video-play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:grid;place-items:center;width:56px;height:40px;border-radius:12px;background:#b73632;color:white;font-size:19px;box-shadow:0 3px 15px #0004}
.video-card-text{display:block;padding:20px}
.video-card-title{display:block;font-size:18px;font-weight:850;line-height:1.4;overflow-wrap:anywhere}
.video-card time{display:block;margin-top:12px;color:#566358;font-size:12px;font-weight:500}
.video-player{margin:0 0 48px;background:white;border:2px solid var(--ink);border-radius:20px;padding:24px;scroll-margin-top:24px}
.watch-header{display:flex;align-items:start;justify-content:space-between;gap:20px;margin-bottom:20px}
.watch-header h2{font-size:26px;margin:0;overflow-wrap:anywhere}
.watch-header button{flex-shrink:0}
.player-frame{aspect-ratio:16/9;background:#192921;border-radius:12px;overflow:hidden}
.player-frame iframe{display:block;width:100%;height:100%;border:0}
@media(max-width:800px){.video-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:540px){.video-grid{grid-template-columns:1fr}.section-heading,.watch-header{align-items:flex-start;flex-direction:column}.video-player{padding:16px}.home-videos{margin-top:48px}.video-heading{padding:12px 0 32px}}
@media(prefers-reduced-motion:reduce){.video-card{transition:none}}
