.kitty-mark--idle,.kitty-mark--idle svg{overflow:visible}.kitty-mark--idle .kitty-mark__tail{transform-box:view-box;transform-origin:766px 1003.5px;animation:kitty-idle-tail 24s cubic-bezier(.77,0,.175,1) infinite}.kitty-mark--idle .kitty-mark__look{transform-box:view-box;transform-origin:516px 600.5px;animation:kitty-idle-look 24s cubic-bezier(.77,0,.175,1) infinite}.kitty-mark--idle .kitty-mark__head{fill:#fff;animation:kitty-idle-head-shape 24s cubic-bezier(.77,0,.175,1) infinite}.kitty-mark__ear-depth{opacity:0}.kitty-mark--idle .kitty-mark__ear-depth{animation:kitty-idle-ear-depth 24s cubic-bezier(.77,0,.175,1) infinite}.kitty-idle-butterfly{opacity:0;animation:kitty-idle-butterfly-flight 24s cubic-bezier(.77,0,.175,1) infinite}.kitty-idle-butterfly__wing--left,.kitty-idle-butterfly__wing--right{transform-box:fill-box;animation:kitty-idle-wing .18s cubic-bezier(.77,0,.175,1) infinite alternate}.kitty-idle-butterfly__wing--left{transform-origin:100% 55%}.kitty-idle-butterfly__wing--right{transform-origin:0% 55%;animation-delay:-90ms}@keyframes kitty-idle-tail{0%,8%,56%,to{transform:rotate(0)}16%{transform:rotate(2deg)}23%{transform:rotate(-1.6deg)}34%{transform:rotate(1.2deg)}46%{transform:rotate(-.8deg)}}@keyframes kitty-idle-look{0%,10%,58%,to{transform:rotate(0)}17%{transform:rotate(2deg)}23%,29%{transform:rotate(-5deg)}34%{transform:rotate(-1deg)}40%,46%{transform:rotate(5deg)}52%{transform:rotate(2deg)}}@keyframes kitty-idle-head-shape{0%,10%,40%,58%,to{d:path("M420 595C365 578 327 548 309 512C298 490 299 466 306 445C295 424 305 409 331 403C343 401 349 390 355 375C384 319 440 280 493 285L514 288C547 245 588 212 614 208C632 205 654 285 640 352C661 335 687 323 699 320C721 310 735 365 720 418L694 465C711 523 667 582 612 606")}17%,34%{d:path("M420 595C406 590 365 564 352 535C339 514 333 490 337 465C331 446 329 431 329 410C329 400 332 389 340 375C326 339 322 278 325 251L351 241C385 263 407 289 424 317C458 301 488 296 523 304C552 280 587 247 617 234C641 231 672 316 677 355L687 405C704 486 666 564 612 606")}23%,29%{d:path("M420 595C365 580 336 534 344 480C342 452 345 427 353 401C345 369 349 334 365 326C379 319 397 330 412 348C415 295 420 250 430 216L448 220C481 236 511 266 534 305C579 289 641 317 669 362C675 376 684 391 710 400C738 409 748 426 731 445L731 476C747 527 694 577 612 606")}}@keyframes kitty-idle-ear-depth{0%,10%,23%,29%,40%,to{opacity:0}17%,34%{opacity:1}}@keyframes kitty-idle-butterfly-flight{0%,8%{opacity:0;transform:translate(970px,650px) scale(.85) rotate(-15deg)}12%{opacity:1;transform:translate(930px,570px) scale(1.35) rotate(-18deg)}17%{opacity:1;transform:translate(865px,470px) scale(1.35) rotate(12deg)}23%{opacity:1;transform:translate(842px,340px) scale(1.15) rotate(-12deg)}29%{opacity:1;transform:translate(808px,365px) scale(1.25) rotate(14deg)}34%{opacity:1;transform:translate(600px,245px) scale(.72) rotate(-10deg)}40%{opacity:1;transform:translate(360px,285px) scale(1.25) rotate(14deg)}46%{opacity:1;transform:translate(328px,365px) scale(1.4) rotate(-12deg)}50%{opacity:.65;transform:translate(405px,235px) scale(.85) rotate(16deg)}53%,to{opacity:0;transform:translate(510px,215px) scale(.65) rotate(-10deg)}}@keyframes kitty-idle-wing{0%{transform:scaleX(.42) rotate(-3deg)}to{transform:scaleX(1) rotate(3deg)}}.kitty-brand[data-idle-paused] .kitty-mark--idle *,[inert] .kitty-mark--idle *,body:has(main :is(textarea,input):focus) .kitty-mark--idle *{animation-play-state:paused}@media(prefers-reduced-motion:reduce){.kitty-mark--idle :is(.kitty-mark__tail,.kitty-mark__look,.kitty-mark__head,.kitty-mark__ear-depth,.kitty-idle-butterfly,.kitty-idle-butterfly__wing--left,.kitty-idle-butterfly__wing--right){animation:none;transform:none}.kitty-mark--idle .kitty-idle-butterfly,.kitty-mark--idle .kitty-mark__ear-depth{opacity:0}}.coming-soon{min-height:100svh;display:flex;flex-direction:column;padding:0 clamp(24px,6vw,88px);background:#fff;color:#111}.coming-soon .coming-soon__header{position:static;border:0;display:flex;justify-content:space-between;align-items:center;padding:28px 0;gap:24px}.coming-soon__header>span{font-size:12px;color:#666;letter-spacing:.02em}.coming-soon .coming-soon__main{flex:1;max-width:none;width:100%;margin:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:42px 0 80px}.coming-soon .coming-soon__kitty{height:138px;width:120px;margin:0 0 40px}.coming-soon__label{text-transform:uppercase;font-size:10px;letter-spacing:.18em;color:#666;margin:0 0 22px}.coming-soon h1{font-family:Georgia,Times New Roman,serif;font-size:clamp(56px,9vw,104px);font-weight:400;letter-spacing:-.065em;line-height:1.05;margin:0 0 26px}.coming-soon__copy{font-size:clamp(15px,2vw,18px);line-height:1.8;color:#666;margin:0}.coming-soon__status{border:1px solid #ddd;border-radius:999px;padding:9px 17px;margin:32px 0 0;font-size:11px;letter-spacing:.06em}.coming-soon .coming-soon__footer{max-width:none;width:100%;flex-direction:row;align-items:center;border-top:1px solid #e8e8e8;display:flex;justify-content:space-between;gap:20px;padding:22px 0;font-size:11px;color:#777;margin:0}.coming-soon__footer>span:first-child{color:#111}@media(max-width:480px){.coming-soon__header>span{font-size:10px}.coming-soon .coming-soon__main{padding:34px 0 56px}.coming-soon .coming-soon__kitty{height:116px;margin-bottom:32px}.coming-soon__label{font-size:9px;letter-spacing:.12em}.coming-soon .coming-soon__footer{font-size:10px}}*{box-sizing:border-box}html{color:#000;background:#fff;font-family:Arial,Helvetica,sans-serif;font-size:16px}body{margin:0}button,input,textarea,select{font:inherit}a{color:inherit;text-underline-offset:5px}button,.button{display:inline-block;background:#000;color:#fff;border:1.5px solid #000;border-radius:5px;padding:12px 23px;font-weight:600;text-decoration:none;cursor:pointer;line-height:1.3}button:disabled{opacity:.5;cursor:wait}.text-button{background:none;color:#000;border:0;padding:5px 0;font-weight:400;text-decoration:underline;text-underline-offset:5px}.outline{background:#fff;color:#000}.skip-link{position:fixed;top:10px;left:20px;background:#fff;z-index:200;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.skip-link:focus{width:auto;height:auto;padding:15px;clip-path:none}:focus-visible{outline:2px solid #000;outline-offset:5px}header{padding:0 36px}.header-inner{max-width:1060px;margin:auto;min-height:110px;border-bottom:1px solid #000;display:flex;align-items:center;justify-content:space-between}.header-logo{width:142px}.header-logo a{display:block}.header-logo svg{display:block}nav{display:flex;gap:34px;font-size:14px}nav a{text-decoration:none;padding:10px 0}nav a[aria-current]{border-bottom:2px solid}.menu-toggle{display:none}main{min-height:70vh;padding:64px 24px 70px}.reading{max-width:640px;margin:auto}.eyebrow{font-size:12px;letter-spacing:1.7px;text-transform:uppercase;margin:0 0 17px}.eyebrow span{padding:0 9px}h1{font-size:clamp(32px,4vw,46px);letter-spacing:-1.7px;line-height:1.13;margin:0 0 18px}h2{font-size:23px;letter-spacing:-.5px;line-height:1.3}p{line-height:1.65}small,.muted{font-size:12px;line-height:1.6}.puzzle{text-align:center}.puzzle-type{font-size:12px;text-transform:capitalize;margin:0 0 24px}.problem{text-align:left;font-size:18px;line-height:1.7;white-space:pre-line}.problem p{margin:0 0 17px}.diagram{max-width:520px;margin:20px auto 32px}.diagram svg{width:100%}.answer-form{text-align:left;max-width:480px;margin:30px auto 0}.answer-form label{display:block;font-size:13px;font-weight:700;margin-bottom:10px}textarea,input,select{border:1px solid #000;background:#fff;color:#000;border-radius:4px;padding:12px;max-width:100%}textarea{width:100%;resize:vertical;line-height:1.6}select{width:100%}.answer-form button{display:block;margin:15px auto 8px;min-width:180px}.answer-form small{display:block;text-align:center}.hints{text-align:left;margin:24px auto;max-width:480px}.hints>.text-button{display:block;margin:auto}details{border-top:1px solid #000;padding:14px 0}summary{cursor:pointer;font-size:13px;font-weight:700}details p{font-size:15px}.notice{font-size:13px;min-height:21px;margin:14px 0}.saved{text-align:left;border-top:1px solid;border-bottom:1px solid;padding:20px 0;margin-top:30px;white-space:pre-wrap;overflow-wrap:anywhere}.saved .eyebrow{font-size:11px}.puzzle-actions{display:flex;flex-direction:column;align-items:center;gap:20px}.release{font-size:13px;margin:0}.release small{display:block}.copy-fallback{display:block;font-size:13px;margin-top:20px;text-align:left}.solution{margin-top:44px;padding-top:28px;border-top:1px solid;text-align:left}.solution ol{padding-left:25px}.solution li{padding-left:8px;margin:20px 0;line-height:1.7}.back-link{display:block;margin-top:35px;font-size:13px}.archive h1{margin-bottom:12px}.season-list{margin-top:34px;border-top:1px solid}.season-row{display:grid;grid-template-columns:32px 1fr auto 16px;gap:15px;align-items:center;padding:20px 0;border-bottom:1px solid;font-size:14px}.season-row>a{text-decoration:none}.day-number,.day-status{font-size:11px}.how h1{font-size:clamp(38px,5vw,56px)}.how>p{max-width:500px}.how ol{padding-left:25px;margin:40px 0}.how li{padding-left:15px;margin:28px 0}.how li h2{margin-bottom:6px}.how li p{margin:0}.empty{text-align:center;padding-top:35px}.empty>svg{width:190px;margin-bottom:35px}.empty .text-button{display:block;margin:20px auto}.loading{text-align:center}footer{max-width:1060px;margin:auto;border-top:1px solid;display:flex;align-items:center;justify-content:space-between;padding:25px 0 40px;font-size:12px;gap:20px}footer>div{display:flex;gap:20px;flex-wrap:wrap}footer button{font-size:12px}.demo-tools{max-width:1060px;margin:0 auto 24px;border-top:1px dashed;display:flex;align-items:center;gap:20px;padding-top:16px;font-size:12px}.demo-tools label{display:flex;gap:10px;align-items:center}.demo-tools select{width:auto;padding:6px}.demo-tools small{margin-left:auto}.submission{margin-top:45px;text-align:left;border-top:1px solid;padding-top:25px}.submission label{display:block;font-size:13px;margin:16px 0 8px}.submission input:not([type=checkbox]){width:100%}.submission input[type=checkbox]{width:auto}.submission button{margin-top:12px}.moderation{max-width:800px;margin:auto}.moderation article{border-top:1px solid;padding:20px 0}.moderation button{margin:5px 10px 5px 0}.moderation p{overflow-wrap:anywhere}.submission form p,.submission-status{font-size:13px}@media(max-width:700px){header{padding:0 22px}.header-inner{min-height:92px;position:relative}.header-logo{width:126px}.menu-toggle{display:block}nav{display:none;position:absolute;top:91px;right:0;left:0;background:#fff;border-bottom:1px solid;padding:15px;z-index:10}nav.nav-open{display:flex;justify-content:space-between;gap:12px}main{padding:42px 22px 50px}h1{letter-spacing:-1px}.problem{font-size:16px}.diagram{margin:15px 0 25px}.season-row{gap:8px;grid-template-columns:23px 1fr 16px}.day-status{grid-column:2;grid-row:auto}.season-row>a:last-child{grid-column:3;grid-row:auto}.season-row{padding:16px 0}.season-row>a:nth-child(2){grid-column:2}.how li{padding-left:8px}footer{margin:0 22px;align-items:flex-start;flex-direction:column;padding-bottom:25px}.demo-tools{margin:0 22px 20px;flex-wrap:wrap;gap:14px}.demo-tools small{margin-left:0}.saved{font-size:15px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.theory-toggle{margin-top:42px;text-align:left}.theory-toggle>summary{font-size:14px;text-align:center;list-style:none;text-decoration:underline;text-underline-offset:5px}.submission-panel{padding:24px 0}.submission-panel h2{font-size:22px}.submission-panel p{font-size:14px}.submission-panel label{display:block;margin:18px 0 8px;font-size:13px}.submission-panel input:not([type=checkbox]){width:100%}.submission-panel .submission-consent{display:flex;gap:10px;line-height:1.5;align-items:flex-start}.submission-panel .submission-consent input{margin-top:3px}.submission-panel button{margin-top:14px}.submission-panel .field-help{font-size:11px;margin-top:3px}.moderation-panel{max-width:750px;margin:auto}.moderation-panel article{border-top:1px solid;padding:20px 0}.moderation-panel button{margin:6px 8px 6px 0}.moderation-panel textarea{margin-top:10px}.moderation-panel p{overflow-wrap:anywhere}.diagram figcaption{font-size:12px;text-align:center;line-height:1.6;margin-top:10px;white-space:normal}.header-logo .kitty-brand{display:flex;width:100%;gap:9px}.header-logo .kitty-mark{width:67px;height:58px}.header-logo .kitty-wordmark{font-size:25px}.empty .kitty-brand{display:inline-flex;margin:0 auto 30px}.empty .kitty-mark{width:100px;height:90px}.empty .kitty-wordmark{font-size:32px}html{-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent;color-scheme:light}button,a,summary{touch-action:manipulation}button,.button,summary{-webkit-user-select:none;user-select:none}button:active,.button:active{transform:scale(.97)}button:focus-visible:active,.button:focus-visible:active{transform:none}header{padding-top:env(safe-area-inset-top,0px)}footer{padding-bottom:calc(40px + env(safe-area-inset-bottom,0px))}@media(pointer:coarse){input,textarea,select{font-size:16px}button,.button,.text-button,summary{min-height:44px}.text-button{display:inline-flex;align-items:center}}@media(hover:hover)and (pointer:fine){button:not(.text-button):not(:disabled):hover,.button:hover{outline:1px solid #000;outline-offset:3px}.text-button:hover,a:hover{text-decoration-thickness:2px}}.header-logo .kitty-wordmark{width:65px;height:62px;flex:none}.header-logo .kitty-mark{width:66px;height:58px;flex:none}.header-logo .kitty-brand{gap:8px;height:62px}.empty .kitty-wordmark{width:92px;height:88px;flex:none}.moderation-panel>label{display:block;margin:24px 0 8px}.moderation-list{list-style:none;padding:0;margin:32px 0}.moderation-card{border-top:1px solid;padding:24px 0}.moderation-card header{padding:0;font-size:13px;line-height:1.6}.moderation-card time{display:block;font-size:12px;margin-top:5px}.moderation-card label{display:block;margin:16px 0 8px}.moderation-card select{max-width:260px}.moderation-reasoning{white-space:pre-wrap;overflow-wrap:anywhere}.header-logo{width:139px}.header-logo .kitty-brand .kitty-mark{width:66px;height:58px;flex:0 0 66px}.header-logo .kitty-brand .kitty-wordmark{width:65px;height:62px;flex:0 0 65px}main:focus{outline:none}.empty .kitty-brand .kitty-mark{flex:none;width:90px;height:104px}.empty .kitty-brand .kitty-wordmark{flex:none;width:98px;height:100px}:root{--kitty-ink: #000;--kitty-paper: #fff;--kitty-rule: #d9d9d9;--kitty-focus: #000}.kitty-brand{display:inline-flex;align-items:center;gap:.45rem;min-height:2.8rem;color:var(--kitty-ink);text-decoration:none;white-space:nowrap}.kitty-brand:focus-visible,.kitty-intro__skip:focus-visible{outline:2px solid var(--kitty-focus);outline-offset:4px}.kitty-mark{display:block;width:2.65rem;height:2.3rem;overflow:visible;color:currentColor}.kitty-brand .kitty-mark{flex:0 0 2.65rem;width:2.65rem;height:2.3rem}.kitty-mark__line{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round}.kitty-mark__body{stroke-width:22}.kitty-mark__head{stroke-width:18}.kitty-mark__tail{stroke-width:20}.kitty-wordmark{display:block;width:3.8rem;height:2.75rem;overflow:visible;color:currentColor;transform:rotate(-2deg);transform-origin:center}.kitty-brand .kitty-wordmark{flex:0 0 3.8rem;width:3.8rem;height:2.75rem}.kitty-wordmark__ink{stroke-width:3.45}.kitty-intro{position:fixed;z-index:1000;top:0;right:0;bottom:0;left:0;overflow:hidden;background:var(--kitty-paper);color:var(--kitty-ink);isolation:isolate}.kitty-intro__scene,.kitty-native-chase{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden}.kitty-intro__video{display:block;width:100%;height:100%;object-fit:contain}.kitty-intro__logo{position:absolute;top:50%;left:50%;display:inline-flex;align-items:center;width:278px;height:124px;gap:16px;opacity:0;transform:translate(-50%,-50%);transform-origin:center}.kitty-intro__kitty{width:132px;height:116px;flex:none}.kitty-intro__wordmark{width:130px;height:124px;flex:none;opacity:0}.kitty-intro__seated,.kitty-walker{position:absolute;top:50%;left:50%;width:132px;height:116px;transform:translate(-50%,-50%)}.kitty-intro__seated .kitty-mark{width:100%;height:100%}.kitty-intro__seated{opacity:0;animation:kitty-sit 6s linear forwards}.kitty-walker{width:146px;animation:kitty-walk-across 6s linear forwards}.kitty-walker__drawing{display:block;width:100%;height:100%;overflow:visible}.kitty-walker__rig{animation:kitty-walk-bob .43s ease-in-out 7}.kitty-walker__leg{transform-box:fill-box;transform-origin:50% 0;animation:kitty-step .43s ease-in-out 7}.kitty-walker__leg--far-front,.kitty-walker__leg--back{animation-name:kitty-step-opposite}.kitty-walker__head{transform-box:view-box;transform-origin:34% 43%;animation:kitty-look-up 6s linear forwards}.kitty-walker__tail{transform-box:fill-box;transform-origin:18% 85%;animation:kitty-tail-sway .86s ease-in-out 4}.kitty-butterfly{position:absolute;top:50%;left:50%;width:32px;height:26px;animation:kitty-butterfly-flight 6s linear forwards}.kitty-butterfly svg{width:100%;height:100%;overflow:visible}.kitty-butterfly__left,.kitty-butterfly__right{transform-box:view-box;transform-origin:50% 55%;animation:kitty-wing .18s ease-in-out 29 alternate}.kitty-butterfly__right{animation-delay:-90ms}.kitty-intro__skip{position:absolute;right:max(1.25rem,env(safe-area-inset-right));bottom:max(1.25rem,env(safe-area-inset-bottom));border:1px solid var(--kitty-ink);border-radius:999px;padding:.56rem .86rem;background:var(--kitty-paper);color:var(--kitty-ink);cursor:pointer;font:600 .74rem/1 ui-sans-serif,system-ui,sans-serif;letter-spacing:.01em;transition:transform .14s cubic-bezier(.23,1,.32,1),background-color .14s ease-out,color .14s ease-out}.kitty-intro__skip:active{transform:scale(.97)}@media(hover:hover)and (pointer:fine){.kitty-intro__skip:hover{background:var(--kitty-ink);color:var(--kitty-paper)}}@media(pointer:coarse){.kitty-intro__skip{min-height:44px}}.kitty-intro.is-reduced .kitty-intro__logo,.kitty-intro.is-reduced .kitty-intro__wordmark{opacity:1}@keyframes kitty-walk-across{0%{opacity:1;transform:translate(calc(-50% + 50vw + 130px),-50%)}16%{transform:translate(calc(-50% + 33vw),-50%)}38%{transform:translate(calc(-50% + 7vw),-50%)}51%{transform:translate(-50%,-50%)}69%{opacity:1;transform:translate(-50%,-50%)}78%{opacity:1;transform:translate(-50%,-47%) scaleY(.94)}86%,to{opacity:0;transform:translate(-50%,-46%) scale(.94,.9)}}@keyframes kitty-sit{0%,77%{opacity:0;transform:translate(-50%,-44%) scale(.94,.93)}86%,to{opacity:1;transform:translate(-50%,-50%) scale(1)}}@keyframes kitty-step{0%,to{transform:rotate(-13deg)}50%{transform:rotate(13deg)}}@keyframes kitty-step-opposite{0%,to{transform:rotate(13deg)}50%{transform:rotate(-13deg)}}@keyframes kitty-walk-bob{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes kitty-tail-sway{0%,to{transform:rotate(-3deg)}50%{transform:rotate(4deg)}}@keyframes kitty-look-up{0%,49%{transform:rotate(0)}61%,77%{transform:rotate(-8deg)}86%,to{transform:rotate(0)}}@keyframes kitty-wing{0%{transform:scaleX(.35) rotate(-4deg)}to{transform:scaleX(1) rotate(3deg)}}@keyframes kitty-butterfly-flight{0%{opacity:1;transform:translate(calc(50vw - 95px),-70px) rotate(-12deg)}15%{transform:translate(calc(28vw - 65px),-104px) rotate(12deg)}25%{transform:translate(calc(15vw - 65px),-64px) rotate(-8deg)}39%{transform:translate(-65px,-100px) rotate(10deg)}50%{transform:translate(-72px,-84px) rotate(-10deg)}59%{transform:translate(-59px,-110px) rotate(12deg)}65%{transform:translate(-65px,-99px) rotate(-10deg)}74%{opacity:1;transform:translate(-92px,-190px) rotate(-18deg)}85%,to{opacity:0;transform:translate(-32px,calc(-50vh - 80px)) rotate(24deg)}}@media(min-width:700px){.kitty-intro__logo{width:417px;height:186px;gap:24px}.kitty-intro__kitty,.kitty-intro__seated{width:198px;height:174px}.kitty-intro__wordmark{width:195px;height:186px}.kitty-walker{width:219px;height:174px}.kitty-butterfly{width:42px;height:34px}}@media(max-width:699px){.kitty-intro__video{position:absolute;top:50%;left:50%;width:auto;height:min(60vh,560px);aspect-ratio:16 / 9;max-width:none;transform:translate(-50%,-50%);animation:kitty-video-frame 6s linear forwards}}@keyframes kitty-video-frame{0%{transform:translate(calc(-100% + 50vw),-50%)}70%,to{transform:translate(-50%,-50%)}}@media(prefers-reduced-motion:reduce){.kitty-brand,.kitty-intro__skip{transition:none}}
