:root{--font-sans:"Readex Pro", system-ui, -apple-system, "Segoe UI", "Noto Sans Arabic", sans-serif;--font-display:"Fredoka", "Readex Pro", system-ui, sans-serif;--font-pieces:"Noto Sans Symbols 2", "Segoe UI Symbol", "DejaVu Sans", serif;--canvas:#fbf4e8;--surface:#fffaf2;--ink:#2b1d14;--ink-2:#6e5a4b;--ink-3:#a38d7b;--line:#ecdcc5;--pumpkin:#e0622a;--pumpkin-ink:#b8461a;--pumpkin-soft:#fbe2cf;--mustard:#f0a830;--light-sq:#f5dfbd;--dark-sq:#c97a44;--bad:#c8302f;--bad-bg:#fbe4e1;--radius:18px;--spring:cubic-bezier(.2, .9, .25, 1.2)}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth}body{color:var(--ink);background:var(--canvas);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;margin:0;font-size:16px;font-weight:300;line-height:1.6;overflow-x:hidden}::selection{background:var(--pumpkin-soft)}a{color:inherit;text-decoration:none}button,input{font-family:inherit}:where(a,button,input):focus-visible{outline:3px solid var(--mustard);outline-offset:2px;border-radius:10px}h1,h2,h3{font-family:var(--font-display);font-weight:600}.piece{font-family:var(--font-pieces);font-variant-emoji:text;line-height:1}.leaves{z-index:0;pointer-events:none;position:fixed;inset:0;overflow:hidden}.leaf{animation:leaf-fall var(--fall) linear var(--delay) infinite;opacity:.9;position:absolute;top:-40px}.leaf svg{animation:leaf-sway var(--sway) ease-in-out var(--delay) infinite alternate;display:block}@keyframes leaf-fall{0%{transform:translate(0,0)rotate(0)}to{transform:translate3d(var(--drift), 112vh, 0) rotate(var(--spin))}}@keyframes leaf-sway{0%{transform:translate(-14px)rotateY(0)}to{transform:translate(14px)rotateY(55deg)}}.bar{z-index:20;min-height:60px;padding:10px 20px;padding-top:max(10px, env(safe-area-inset-top));background:color-mix(in srgb, var(--canvas) 88%, transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);align-items:center;gap:20px;display:flex;position:sticky;top:0}.brand{font-family:var(--font-display);align-items:center;gap:8px;font-size:17px;font-weight:600;display:inline-flex}.brand img{border-radius:8px;display:block}.bar-nav{color:var(--ink-2);gap:20px;margin-right:auto;font-size:14px;font-weight:400;display:flex}.bar-nav a:hover{color:var(--pumpkin-ink)}.btn{background:var(--pumpkin);color:#fff;min-height:48px;font-family:var(--font-display);cursor:pointer;box-shadow:0 4px 0 var(--pumpkin-ink);transition:transform .14s var(--spring), box-shadow .14s var(--spring), background-color .12s ease;border:0;border-radius:999px;justify-content:center;align-items:center;padding:0 22px;font-size:16px;font-weight:600;line-height:1;display:inline-flex}.btn:hover{box-shadow:0 6px 0 var(--pumpkin-ink);transform:translateY(-2px)}.btn:active{box-shadow:0 1px 0 var(--pumpkin-ink);transform:translateY(3px)}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn.small{min-height:38px;box-shadow:0 3px 0 var(--pumpkin-ink);padding:0 16px;font-size:14.5px}.btn.ghost{color:var(--ink);box-shadow:inset 0 0 0 2px var(--line);background:0 0}.btn.ghost:hover{box-shadow:inset 0 0 0 2px var(--dark-sq);transform:none}.btn.ghost:active{transform:translateY(1px)}main,.foot{z-index:1;position:relative}main{width:min(760px,100% - 32px);margin:0 auto}.eyebrow{color:var(--pumpkin-ink);margin:0;font-size:14px;font-weight:500}.lede,.intro{max-width:54ch;color:var(--ink-2);font-size:17px}.hero{padding:64px 0 24px;position:relative}.hero-knight{color:var(--dark-sq);opacity:.9;font-size:clamp(120px,24vw,210px);animation:5s ease-in-out infinite knight-bob;position:absolute;top:34px;right:-8px;transform:rotate(-8deg)}@keyframes knight-bob{0%,to{transform:rotate(-8deg)translateY(0)}50%{transform:rotate(-4deg)translateY(-10px)}}h1{letter-spacing:-.02em;margin:14px 0 0;font-size:clamp(44px,9vw,76px);line-height:.98;position:relative}.hero .lede{margin:18px 0 0;position:relative}.hero-actions{flex-wrap:wrap;gap:12px;margin-top:28px;display:flex;position:relative}.board-row{border-radius:14px;grid-template-columns:repeat(8,1fr);margin-top:48px;display:grid;overflow:hidden}.square{aspect-ratio:1;background:var(--light-sq);color:var(--ink);place-items:center;font-size:clamp(26px,6.4vw,52px);display:grid}.square:nth-child(2n){background:var(--dark-sq)}.square .piece{transition:transform .2s var(--spring)}.square:hover .piece{transform:translateY(-6px)rotate(-6deg)}.block{padding:72px 0 0}h2{letter-spacing:-.01em;margin:6px 0 0;font-size:clamp(30px,5vw,40px);line-height:1.1}.next-title{margin-top:48px}.intro{margin:12px 0 0}.list,.chips,.stats,.rounds,.swiss,.done-list{margin:0;padding:0;list-style:none}.list{margin-top:20px}.list li{border-top:2px dashed var(--line);align-items:center;gap:18px;padding:16px 0;display:flex}.list li:first-child{border-top:0}.list h3{margin:0;font-size:19px}.list p{color:var(--ink-2);margin:2px 0 0}.list-piece{background:var(--light-sq);border-radius:14px;flex:none;place-items:center;width:52px;height:52px;font-size:32px;display:grid}.list li:nth-child(2n) .list-piece{background:var(--dark-sq);color:var(--surface)}.rule-n{width:52px;color:var(--pumpkin);font-family:var(--font-display);font-variant-numeric:tabular-nums;text-align:center;flex:none;font-size:34px;font-weight:600;line-height:1}.days{grid-template-columns:repeat(5,1fr);gap:8px;margin-top:24px;display:grid}.days button{box-shadow:inset 0 0 0 2px var(--line);color:var(--ink-2);cursor:pointer;transition:transform .14s var(--spring), background-color .12s ease;background:0 0;border:0;border-radius:16px;flex-direction:column;align-items:center;gap:2px;padding:12px 4px;display:flex}.days button span{font-family:var(--font-display);font-size:18px;font-weight:600}.days button small{font-size:12.5px}.days button:hover{transform:translateY(-2px)}.days button[aria-selected=true]{background:var(--ink);color:var(--canvas);box-shadow:none}.chips{flex-wrap:wrap;gap:10px;margin-top:18px;display:flex}.chips li{background:var(--pumpkin-soft);min-width:64px;color:var(--pumpkin-ink);font-family:var(--font-display);font-variant-numeric:tabular-nums;text-align:center;animation:chip-in .32s var(--spring) both;border-radius:14px;padding:10px 16px;font-size:20px;font-weight:600}.chips li:nth-child(2){animation-delay:40ms}.chips li:nth-child(3){animation-delay:80ms}.chips li:nth-child(4){animation-delay:.12s}.chips li:nth-child(5){animation-delay:.16s}@keyframes chip-in{0%{opacity:0;transform:translateY(8px)scale(.9)}}.stats{grid-template-columns:repeat(3,1fr);gap:16px;margin-top:36px;display:grid}.stats li{flex-direction:column;display:flex}.stats strong{font-family:var(--font-display);font-size:34px;font-weight:600;line-height:1.1}.stats span{color:var(--ink-2);font-size:14px}.rounds{border-radius:14px;grid-template-columns:repeat(5,1fr);margin-top:28px;display:grid;overflow:hidden}.rounds li{aspect-ratio:1;background:var(--light-sq);flex-direction:column;justify-content:center;align-items:center;display:flex}.rounds li:nth-child(2n){background:var(--dark-sq);color:var(--surface)}.rounds strong{font-family:var(--font-display);font-size:clamp(28px,7vw,44px);font-weight:600;line-height:1}.rounds span{opacity:.8;font-size:12.5px}.swiss{margin-top:20px}.swiss li{color:var(--ink-2);padding:10px 0 10px 28px;position:relative}.swiss li:before{content:"";background:var(--mustard);border-radius:3px;width:10px;height:10px;position:absolute;top:19px;left:4px;transform:rotate(45deg)}.close{text-align:center;margin-top:88px;padding:0 0 8px}.close-king{color:var(--pumpkin);font-size:84px;display:block}.close h2{max-width:16ch;margin:12px auto 24px}.foot{width:min(760px,100% - 32px);color:var(--ink-3);text-align:center;margin:0 auto;padding:56px 0 48px;font-size:13px}.backdrop{z-index:40;padding:12px;padding-bottom:max(12px, env(safe-area-inset-bottom));background:#2b1d1473;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.dialog{background:var(--surface);width:min(560px,100%);max-height:min(92vh,860px);animation:dialog-in .26s var(--spring) both;border-radius:24px;overflow:auto;box-shadow:0 30px 80px -20px #2b1d1480}@keyframes dialog-in{0%{opacity:0;transform:translateY(24px)scale(.98)}}.dialog:focus{outline:none}.dialog-body{padding:26px 24px 20px}.dialog-body h2{font-size:28px}.dialog-body .lede{margin:8px 0 0;font-size:15px}.muted{color:var(--ink-2);font-size:13.5px}.rows{gap:14px;margin-top:18px;display:grid}.pupil{border:2px dashed var(--line);border-radius:var(--radius);margin:0;padding:16px}.pupil-legend{width:100%;font-family:var(--font-display);justify-content:space-between;align-items:center;padding:0;font-size:16px;font-weight:600;display:flex}.text-btn{color:var(--ink-2);cursor:pointer;background:0 0;border:0;font-size:13.5px}.text-btn:hover{color:var(--bad)}.field{margin-top:10px;display:block}.field span{color:var(--ink-2);margin-bottom:6px;font-size:13px;font-weight:400;display:block}.input{border:2px solid var(--line);width:100%;min-height:46px;color:var(--ink);background:#fff;border-radius:14px;outline:none;padding:10px 14px;font-size:16px;transition:border-color .12s}.input::placeholder{color:var(--ink-3)}.input:focus{border-color:var(--pumpkin)}.pair{grid-template-columns:1fr 1fr;gap:10px;display:grid}.trap{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.form-error{background:var(--bad-bg);color:var(--bad);border-radius:12px;margin:14px 0 0;padding:10px 14px;font-size:14px}.dialog-actions{background:linear-gradient(to bottom, #fffaf200, var(--surface) 12px);flex-wrap:wrap;justify-content:flex-end;gap:10px;margin-top:18px;padding:14px 0 6px;display:flex;position:sticky;bottom:0}.done-list{margin-top:18px}.done-list li{border-top:2px dashed var(--line);flex-direction:column;gap:2px;padding:12px 0;display:flex}.done-list li:first-child{border-top:0}@media (width>=720px){.backdrop{align-items:center}}@media (width<=640px){.bar-nav{display:none}.bar>.btn{margin-left:auto}.hero{padding-top:40px}.hero-knight{opacity:.22;top:18px;right:-4px}.stats strong{font-size:26px}.days button span{font-size:16px}.leaf:nth-child(n+11){display:none}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.leaves{display:none}.hero-knight,.chips li,.dialog{animation:none}.btn,.days button,.square .piece{transition:none}}
