@import"https://fonts.googleapis.com/css2?family=DM+Mono:wght@500&family=Fredoka:wght@500;600;700&family=Fraunces:opsz,wght@9..144,700;9..144,800&family=Nunito:wght@500;600;700;800&display=swap";:root{--sun: #fff08c;--sun-deep: #f6d866;--cream: #fff8e7;--paper: #fffdf8;--ink: #332d2c;--muted: #7a706c;--coral: #ee8e7d;--coral-soft: #f5d5cb;--green: #69bb91;--grid-soft: #b9b7b3;--shadow: #3a2d2b}*{box-sizing:border-box}html,body,#app{width:100%;height:100%;overflow:hidden}html{background:var(--cream)}body{margin:0;min-width:320px;background:var(--sun);color:var(--ink);font-family:Nunito,sans-serif;-webkit-font-smoothing:antialiased}button{color:inherit;font:inherit;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.app{width:100%;height:100dvh;min-height:0;display:flex;flex-direction:column;overflow:hidden;background-color:var(--sun);background-image:radial-gradient(circle at 1px 1px,rgb(72 56 40 / 8%) .7px,transparent .8px),linear-gradient(135deg,#fff49f,#ffed82);background-size:4px 4px,100% 100%}.header{flex:0 0 66px;height:66px;padding:0 clamp(20px,4vw,48px);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;border-bottom:1px solid rgb(51 45 44 / 12%);background:#fff8e7f5;position:relative;z-index:20}.wordmark{width:max-content;border:0;background:transparent;padding:0;display:flex;align-items:center;gap:8px;cursor:pointer;text-align:left;font:700 11px/.9 Fredoka,sans-serif;letter-spacing:.03em}.wordmark b{font-weight:600}.brand-mark{width:35px;height:35px;position:relative;display:grid;place-items:center}.brand-orbit{position:absolute;inset:2px;border-radius:50% 46% 55% 44%;background:var(--coral);transform:rotate(-12deg)}.brand-mark .star-icon{position:relative;width:22px;height:22px;transform:rotate(8deg)}.brand-mark .star-body{fill:var(--paper);stroke:var(--ink);stroke-width:7}.header nav{justify-self:end;display:flex;align-items:center;gap:8px}.google-signin,.auth-user,.auth-logout{height:42px;padding:0 14px;display:flex;align-items:center;gap:7px;border:2px solid var(--ink);border-radius:10px;background:linear-gradient(180deg,#fff,#fffaf0);box-shadow:0 3px 0 var(--shadow);cursor:pointer;font:700 10px DM Mono,monospace;letter-spacing:.04em;transition:transform .16s ease,box-shadow .16s ease}.auth-account{display:flex;align-items:center;gap:5px}.google-signin svg{width:20px;height:20px;flex:0 0 auto}.google-signin:disabled{cursor:default;opacity:.48}.auth-user{max-width:190px;padding-left:5px;cursor:default}.auth-user img,.auth-user>span{width:31px;height:31px;flex:0 0 auto;display:grid;place-items:center;border:1px solid var(--ink);border-radius:7px;background:var(--sun);object-fit:cover;font:700 12px Fredoka,sans-serif}.auth-user b{max-width:82px;overflow:hidden;font:700 13px Fredoka,sans-serif;text-overflow:ellipsis;white-space:nowrap}.auth-logout{padding-inline:11px;background:var(--coral-soft);font-size:9px}.auth-logout b{display:none}@media(hover:hover){.google-signin:hover:not(:disabled),.auth-logout:hover{transform:translateY(-1px);box-shadow:0 3px 0 var(--shadow)}}.timer-label{height:38px;padding:0 12px;display:grid;place-items:center;border:2px solid var(--ink);border-radius:9px;background:var(--paper);box-shadow:0 2px 0 var(--shadow);font:600 9px DM Mono,monospace;letter-spacing:.06em}.header .round{width:38px;height:38px;padding:0;display:grid;place-items:center;border:2px solid var(--ink);border-radius:9px;background:var(--paper);box-shadow:0 2px 0 var(--shadow);cursor:pointer;font:700 15px Fredoka,sans-serif;transition:transform .16s ease,box-shadow .16s ease}@media(hover:hover){.header .round:hover{transform:translateY(-1px);box-shadow:0 3px 0 var(--shadow)}}.desktop-week{grid-column:2}.mobile-week{display:none}.week-nav{height:40px;display:grid;grid-template-columns:repeat(7,44px);overflow:hidden;border:2px solid var(--ink);border-radius:9px;background:var(--paper);box-shadow:0 2px 0 var(--shadow)}.week-nav button{border:0;border-right:1px solid rgb(51 45 44 / 16%);background:transparent;font:600 10px DM Mono,monospace;cursor:pointer;transition:background-color .16s ease,color .16s ease}.week-nav button:last-child{border-right:0}.week-nav button.active{background:var(--coral)}.week-nav button.complete:after{content:"•";margin-left:2px}.week-nav button:disabled{color:#332d2c3d;cursor:default}.compact-day{height:38px;padding:0 12px;display:flex;align-items:center;gap:7px;border:2px solid var(--ink);border-radius:9px;background:var(--paper);box-shadow:0 2px 0 var(--shadow);font:700 10px DM Mono,monospace}.calendar-icon{font-size:18px}.home-page{flex:1 1 auto;min-height:0;height:calc(100dvh - 66px);padding:clamp(18px,4vh,42px) clamp(18px,6vw,76px) 14px;display:grid;grid-template-rows:minmax(0,1fr) auto;justify-items:center;gap:12px;overflow:hidden}.home-card{width:min(1040px,100%);min-height:0;align-self:stretch;max-height:560px;display:grid;grid-template-columns:minmax(300px,.9fr) minmax(380px,1.1fr);overflow:hidden;border:3px solid var(--ink);border-radius:20px;background:var(--paper);box-shadow:7px 8px 0 var(--shadow);animation:card-arrive .52s cubic-bezier(.22,1,.36,1)}.home-card-art{position:relative;overflow:hidden;border-right:3px solid var(--ink);background:radial-gradient(circle at 22% 20%,rgb(255 255 255 / 58%) 0 4%,transparent 4.2%),linear-gradient(145deg,#ffdf68,#ffd454)}.home-card-art:before{content:"";position:absolute;width:270px;height:270px;left:50%;top:50%;border:3px solid rgb(51 45 44 / 62%);border-radius:48% 52% 45% 55%;transform:translate(-50%,-50%) rotate(-12deg)}.home-card-art:after{content:"";position:absolute;width:180px;height:180px;left:50%;top:50%;border:2px dashed rgb(51 45 44 / 42%);border-radius:50%;transform:translate(-50%,-50%) rotate(18deg)}.art-star{position:absolute;z-index:2;filter:drop-shadow(3px 4px 0 rgb(51 45 44 / 16%))}.art-star.one{width:150px;height:150px;left:50%;top:49%;transform:translate(-50%,-50%) rotate(-7deg)}.art-star.two{width:64px;height:64px;left:20%;top:19%;transform:rotate(14deg)}.art-star.three{width:46px;height:46px;right:18%;bottom:18%;transform:rotate(-14deg)}.art-star .star-body{fill:var(--paper);stroke:var(--ink);stroke-width:6}.art-star.one .star-body{fill:var(--coral)}.orbit-line{position:absolute;width:370px;height:100px;left:50%;top:50%;border:3px solid transparent;border-top-color:var(--ink);border-radius:50%;transform:translate(-50%,-50%) rotate(22deg)}.home-card-copy{min-width:0;padding:clamp(28px,5vh,58px) clamp(28px,6vw,72px);display:flex;flex-direction:column;justify-content:center}.date-kicker,.eyebrow{margin:0;font:600 9px DM Mono,monospace;letter-spacing:.1em;text-transform:uppercase}.home-card-copy h1,.game-info h1{margin:7px 0 14px;font:700 clamp(66px,9vw,112px)/.82 Fredoka,sans-serif;letter-spacing:-.07em}.home-description{max-width:480px;margin:0;color:#5f5651;font-size:clamp(14px,1.3vw,17px);line-height:1.55}.week-games{width:min(390px,100%);margin-top:clamp(18px,3vh,30px);display:flex;gap:6px}.week-games button{width:48px;height:52px;padding:5px 0 3px;display:grid;place-items:center;border:1.5px solid var(--ink);border-radius:8px;background:var(--paper);cursor:pointer;transition:transform .16s ease,background-color .16s ease}@media(hover:hover){.week-games button:hover{transform:translateY(-2px)}}.week-games button.today{background:var(--sun);box-shadow:0 3px 0 var(--shadow)}.week-games small{font:600 8px DM Mono,monospace}.week-games span{font:700 17px Fredoka,sans-serif}.play-button,.primary{width:min(340px,100%);height:54px;margin-top:clamp(18px,3vh,30px);padding:0 18px;display:flex;align-items:center;justify-content:space-between;border:2px solid var(--ink);border-radius:10px;background:var(--coral);box-shadow:0 4px 0 var(--shadow);cursor:pointer;font:700 10px DM Mono,monospace;letter-spacing:.05em;transition:transform .16s ease,box-shadow .16s ease}@media(hover:hover){.play-button:hover,.primary:hover{transform:translateY(-2px);box-shadow:0 6px 0 var(--shadow)}}.play-button span{font-size:22px}.levels-button{width:min(340px,100%);min-height:42px;margin-top:12px;padding:0 14px;display:flex;align-items:center;justify-content:space-between;border:1.5px solid var(--ink);border-radius:9px;background:var(--paper);box-shadow:0 3px 0 var(--shadow);cursor:pointer;font:700 9px DM Mono,monospace;letter-spacing:.05em;transition:transform .16s ease,box-shadow .16s ease}.levels-button span{color:var(--muted)}.levels-button span b{color:var(--coral);font-size:13px}.campaign-progress{grid-column:2;height:40px;padding:0 16px;display:flex;align-items:center;gap:5px;border:2px solid var(--ink);border-radius:9px;background:var(--coral);box-shadow:0 2px 0 var(--shadow);font:700 10px DM Mono,monospace;letter-spacing:.06em}.campaign-progress span{color:#332d2c8c}.home-footnote{margin:0;color:#332d2ca6;font:600 8px DM Mono,monospace;letter-spacing:.04em}.levels-page{height:calc(100dvh - 66px);padding:clamp(20px,4vh,42px) clamp(16px,5vw,64px);overflow:auto}.levels-shell{width:min(940px,100%);min-height:min(560px,calc(100dvh - 110px));margin:0 auto;padding:clamp(24px,4vw,44px);border:3px solid var(--ink);border-radius:20px;background:var(--paper);box-shadow:7px 8px 0 var(--shadow);animation:card-arrive .42s cubic-bezier(.22,1,.36,1)}.levels-heading{display:flex;align-items:end;justify-content:space-between;gap:30px;padding-bottom:24px;border-bottom:2px solid rgb(207 109 64 / 35%)}.levels-heading h1{margin:5px 0 -5px;font:700 clamp(52px,7vw,78px)/.9 Fredoka,sans-serif;letter-spacing:-.055em}.levels-heading>p{width:min(320px,44%);margin:0;color:var(--muted);font-size:16px;line-height:1.45}.level-login-callout{margin-top:24px;padding:16px 18px;display:grid;grid-template-columns:54px minmax(0,1fr) auto;align-items:center;gap:16px;border:2px solid var(--ink);border-radius:13px;background:radial-gradient(circle at 90% 10%,rgb(255 255 255 / 48%),transparent 28%),var(--sun);box-shadow:0 4px 0 var(--shadow)}.login-orbit{width:50px;height:50px;display:grid;place-items:center;border:2px solid var(--ink);border-radius:50% 46% 52% 44%;background:var(--coral);transform:rotate(-8deg)}.login-orbit .star-icon{width:30px;transform:rotate(8deg)}.login-orbit .star-body{fill:var(--paper)}.level-login-callout h2{margin:3px 0;font:700 clamp(20px,3vw,28px)/1 Fredoka,sans-serif;letter-spacing:-.025em}.level-login-callout>div>p:last-child{margin:0;color:#625954;font-size:14px}.level-login-callout>button{height:50px;padding:0 15px;display:flex;align-items:center;gap:9px;border:2px solid var(--ink);border-radius:10px;background:var(--paper);box-shadow:0 3px 0 var(--shadow);cursor:pointer;font:700 10px DM Mono,monospace;letter-spacing:.025em}.level-login-callout>button svg{width:21px;height:21px}.level-login-callout>button b{font:700 20px Fredoka,sans-serif}.level-grid{margin-top:25px;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px}.level-grid button{position:relative;min-width:0;min-height:68px;padding:9px 10px;display:grid;grid-template-columns:42px minmax(0,1fr);align-items:center;gap:12px;border:2px solid var(--ink);border-radius:11px;background:#fffdf8;box-shadow:0 3px 0 var(--shadow);cursor:pointer;text-align:left;transition:transform .14s ease,box-shadow .14s ease,background-color .14s ease}.level-number{width:42px;height:46px;display:grid;place-items:center;border-radius:8px;background:var(--sun);font:700 18px DM Mono,monospace}.level-copy{min-width:0;display:grid;gap:2px}.level-copy b{padding-right:12px;overflow:hidden;font:700 15px Fredoka,sans-serif;text-overflow:ellipsis;white-space:nowrap}.level-copy small{color:var(--muted);font:600 9px DM Mono,monospace;letter-spacing:.08em}.level-state{position:absolute;top:4px;right:7px;font:700 19px Fredoka,sans-serif}.level-grid button.complete{background:#eef8ef}.level-grid button.complete .level-number{background:#9fd4ad}.level-grid button.locked{border-color:#c9c3b8;box-shadow:none;color:#aaa39a;cursor:default}.level-grid button.locked .level-number{background:#eeeae2}.level-grid button.login-locked:not(:disabled){background:#fff9e8;color:var(--ink);cursor:pointer}.level-grid button.login-locked:not(:disabled) .level-number{background:#f7dccf}.level-grid button.login-locked .level-state{color:#4285f4;font-family:Fredoka,sans-serif}.levels-footer{margin-top:22px;display:grid;grid-template-columns:auto 1fr;align-items:center;gap:16px;color:var(--muted);font:600 8px DM Mono,monospace;letter-spacing:.07em}.levels-footer>div{height:8px;overflow:hidden;border:1px solid var(--ink);border-radius:99px;background:#eeeae2}.levels-footer i{height:100%;display:block;border-radius:inherit;background:var(--coral);transition:width .36s ease}@media(hover:hover){.levels-button:hover,.level-grid button:hover:not(:disabled),.level-login-callout>button:hover{transform:translateY(-2px);box-shadow:0 5px 0 var(--shadow)}}.game-page{flex:1 1 auto;min-height:0;height:calc(100dvh - 66px);overflow:hidden}.game-shell{--board-size: min(412px, calc(100dvh - 112px) , calc(100vw - 560px) );width:min(880px,calc(100% - 28px));height:100%;margin:0 auto;display:grid;grid-template-columns:minmax(300px,390px) var(--board-size);align-items:center;justify-content:space-between;gap:clamp(38px,7vw,90px)}.game-info{min-width:0}.game-info h1{margin:8px 0 18px;font-size:clamp(72px,9vw,110px)}.ink-divider{width:100%;height:2px;margin-bottom:15px;background:#cf6d407a}.game-date{margin:0;font:800 clamp(26px,3.2vw,38px)/1.05 Fraunces,serif}.difficulty{height:58px;margin:14px 0 0;padding-bottom:15px;display:flex;align-items:center;gap:8px;border-bottom:2px solid rgb(207 109 64 / 48%)}.difficulty span{color:var(--paper);font-size:25px;line-height:1;text-shadow:-1.5px -1.5px 0 var(--ink),1.5px -1.5px 0 var(--ink),-1.5px 1.5px 0 var(--ink),1.5px 1.5px 0 var(--ink);transform:rotate(8deg)}.difficulty span.lit{color:var(--coral)}.message,.mobile-message{min-height:34px;margin-top:12px;display:flex;align-items:center;color:var(--muted);font:600 9px DM Mono,monospace;letter-spacing:.035em}.message.warning,.mobile-message.warning{color:#a33d32}.game-controls{margin-top:8px}.control-row{display:flex;gap:12px}.control-row button{min-width:112px;height:54px;padding:0 16px;display:flex;align-items:center;justify-content:center;gap:8px;border:2px solid var(--ink);border-radius:10px;background:var(--paper);box-shadow:0 4px 0 var(--shadow);cursor:pointer;font:700 16px Fredoka,sans-serif;transition:transform .16s ease,box-shadow .16s ease}@media(hover:hover){.control-row button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 0 var(--shadow)}}.control-row button:disabled{opacity:.38;cursor:default}.control-row b{font-size:20px}.reset{margin:14px 0 0;padding:0;border:0;background:transparent;color:var(--muted);cursor:pointer;font:600 8px DM Mono,monospace;text-decoration:underline;text-underline-offset:3px;text-transform:uppercase}.board-column{width:var(--board-size);min-width:0}.board{width:var(--board-size);height:var(--board-size);display:grid;grid-template-columns:repeat(var(--grid-size),minmax(0,1fr));grid-template-rows:repeat(var(--grid-size),minmax(0,1fr));overflow:hidden;border:4px solid var(--ink);border-radius:14px;background:#fbfbfa;box-shadow:7px 8px 0 var(--shadow);isolation:isolate;animation:board-arrive .52s 80ms cubic-bezier(.22,1,.36,1) both;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}.cell{--line-right: inset -1px 0 0 var(--grid-soft);--line-bottom: inset 0 -1px 0 var(--grid-soft);position:relative;width:100%;height:100%;min-width:0;min-height:0;padding:0;display:grid;place-items:center;overflow:hidden;contain:layout paint;border:0;background:#fbfbfa;box-shadow:var(--line-right),var(--line-bottom);cursor:pointer;transition:background-color .12s ease;isolation:isolate}.cell>*{pointer-events:none}.cell:active{background:#fff1bc}.cell:focus-visible{outline:3px solid var(--coral);outline-offset:-4px}.cell.br{--line-right: inset -3px 0 0 var(--ink)}.cell.bb{--line-bottom: inset 0 -3px 0 var(--ink)}.star-wrap,.cross{width:68%;height:68%;display:grid;place-items:center;animation:marker-pop .14s cubic-bezier(.34,1.4,.5,1);will-change:transform}.star-icon{display:block;overflow:visible}.star-body{fill:#ffd65e;stroke:var(--ink);stroke-width:8;stroke-linejoin:round;stroke-linecap:round}.star-wrap .star-icon{width:100%;height:100%}.cross{color:#8e8b86;font:700 clamp(16px,5vw,31px)/1 Nunito,sans-serif}.cell.given{background:#fff7d8;cursor:default}.cell.given .star-wrap,.cell.given .cross{animation:none}.cell.conflict{box-shadow:var(--line-right),var(--line-bottom),inset 0 0 0 2px #ba574a}.cell.line-conflict{background:var(--coral-soft)!important;animation:conflict-pulse .42s ease-out}@media(hover:hover){.cell:hover{background:#fff1bc}.cell.selected{background:#fff7d8}}.mobile-game-meta,.mobile-message,.mobile-controls{display:none}dialog{width:min(920px,calc(100vw - 28px));max-height:calc(100dvh - 28px);margin:auto;padding:clamp(28px,5vw,54px);border:3px solid var(--ink);border-radius:18px;background:var(--paper);color:var(--ink);box-shadow:7px 8px 0 var(--shadow);overflow:auto}dialog::backdrop{background:#332d2c6b;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.modal-close{position:absolute;top:16px;right:16px;width:38px;height:38px;padding:0;border:2px solid var(--ink);border-radius:50%;background:var(--paper);cursor:pointer;font-size:23px;line-height:1}.help-heading h2,.win-modal h2{margin:7px 0 0;font:700 clamp(50px,7vw,76px)/.9 Fredoka,sans-serif;letter-spacing:-.04em}.help-heading{display:grid;grid-template-columns:minmax(220px,auto) minmax(260px,1fr);align-items:end;gap:clamp(28px,6vw,80px);padding:0 52px 25px 0;border-bottom:2px solid rgb(207 109 64 / 38%)}.help-heading>p{margin:0;color:var(--muted);font-size:14px;line-height:1.5}.help-rules{border-bottom:2px solid var(--ink)}.guide-rule{border-top:2px solid var(--ink)}.guide-rule:first-child{border-top:0}.guide-rule summary{min-height:72px;padding:10px 4px;display:grid;grid-template-columns:52px 1fr 34px;align-items:center;gap:14px;cursor:pointer;list-style:none}.guide-rule summary::-webkit-details-marker{display:none}.guide-number{width:46px;height:46px;display:grid;place-items:center;border:2px solid var(--ink);border-radius:50%;background:var(--sun);font:700 11px DM Mono,monospace}.guide-rule summary>span:nth-child(2){min-width:0;display:grid;gap:3px}.guide-rule summary b{font:700 clamp(17px,2.2vw,22px) Fredoka,sans-serif}.guide-rule summary small{color:var(--muted);font:600 8px DM Mono,monospace;letter-spacing:.05em;text-transform:uppercase}.guide-rule summary i{font: 500 28px/1 Fredoka,sans-serif;text-align:center;transition:transform .18s ease}.guide-rule[open] summary i{transform:rotate(45deg)}.guide-rule[open] summary{color:#9f463b}.guide-rule-body{padding:4px 12px 24px 66px;display:grid;grid-template-columns:minmax(150px,190px) 1fr;align-items:center;gap:clamp(24px,5vw,58px);animation:guide-reveal .22s ease-out}.guide-rule-body h3{margin:0 0 8px;font:700 17px Fredoka,sans-serif}.guide-rule-body p{margin:0;color:#625954;font-size:14px;line-height:1.55}.guide-board{width:100%;aspect-ratio:1;display:grid;grid-template-columns:repeat(4,1fr);grid-template-rows:repeat(4,1fr);overflow:hidden;border:3px solid var(--ink);border-radius:10px;background:#fbfbfa;box-shadow:4px 5px 0 var(--shadow)}.guide-board>span{display:grid;place-items:center;background:#fbfbfa;box-shadow:inset -1px 0 var(--grid-soft),inset 0 -1px var(--grid-soft);transition:background-color .18s ease}.guide-board>span.guide-right{border-right:3px solid var(--ink)}.guide-board>span.guide-bottom{border-bottom:3px solid var(--ink)}.guide-board>span.guide-highlight{background:#fff0a7}.guide-board .star-icon{width:62%;height:62%}.guide-board b{color:#aaa49c;font:700 clamp(13px,2vw,20px)/1 Nunito,sans-serif}@keyframes guide-reveal{0%{opacity:0;transform:translateY(-5px)}}.help-modal .primary,.win-modal .primary{margin:30px auto 0;justify-content:center}.win-modal{width:min(500px,calc(100vw - 28px));text-align:center}.celebration{height:110px;position:relative;display:grid;place-items:center}.hero-star{width:90px;animation:hero-arrive .62s cubic-bezier(.2,1.35,.4,1)}.particle{position:absolute;width:23px;opacity:0;animation:particle .9s ease-out forwards}.particle.p0{transform:translate(-115px,-18px) rotate(-18deg);animation-delay:40ms}.particle.p1{transform:translate(112px,-23px) rotate(24deg);animation-delay:80ms}.particle.p2{transform:translate(-80px,44px) rotate(12deg);animation-delay:.12s}.particle.p3{transform:translate(78px,48px) rotate(-14deg);animation-delay:.16s}.particle.p4{transform:translate(-145px,34px) rotate(20deg);animation-delay:.19s}.particle.p5{transform:translate(146px,31px) rotate(-20deg);animation-delay:.21s}.particle.p6{transform:translate(-68px,-52px) rotate(16deg);animation-delay:.23s}.particle.p7{transform:translate(67px,-57px) rotate(-22deg);animation-delay:.25s}.particle.p8{transform:translateY(-73px) rotate(13deg);animation-delay:.27s}.win-modal>p{line-height:1.5}.result-stats{margin-top:18px;font:600 9px DM Mono,monospace;letter-spacing:.08em}.result-stats b{font-size:18px}.win-actions{width:min(390px,100%);margin:28px auto 0;display:grid;grid-template-columns:.9fr 1.1fr;gap:10px}.win-actions .primary,.win-actions .secondary{width:100%;height:52px;margin:0;padding:0 14px;display:flex;align-items:center;justify-content:center;gap:8px;border:2px solid var(--ink);border-radius:10px;box-shadow:0 4px 0 var(--shadow);cursor:pointer;font:700 9px DM Mono,monospace;letter-spacing:.04em;transition:transform .16s ease,box-shadow .16s ease}.win-actions .secondary{background:var(--paper)}.win-actions .primary span{font:700 19px Fredoka,sans-serif}@media(hover:hover){.win-actions .secondary:hover{transform:translateY(-2px);box-shadow:0 6px 0 var(--shadow)}}.next-level{margin-top:18px;border:0;background:transparent;cursor:pointer;font:600 9px DM Mono,monospace;text-decoration:underline;text-underline-offset:3px}.close-note{margin:16px 0 0;color:var(--muted);font:600 8px DM Mono,monospace;letter-spacing:.04em;text-transform:uppercase}.toast{position:fixed;left:50%;bottom:24px;z-index:40;padding:12px 18px;border:2px solid var(--ink);border-radius:8px;background:var(--ink);color:var(--paper);opacity:0;transform:translate(-50%,12px);pointer-events:none;transition:opacity .22s ease,transform .22s ease;font:600 9px DM Mono,monospace}.toast.show{opacity:1;transform:translate(-50%)}@keyframes card-arrive{0%{opacity:0;transform:translateY(12px) scale(.99)}}@keyframes board-arrive{0%{opacity:0;transform:translateY(12px) rotate(.4deg)}}@keyframes marker-pop{0%{opacity:0;transform:scale(.62) rotate(-10deg)}}@keyframes conflict-pulse{0%{background:#e7a99d}}@keyframes hero-arrive{0%{opacity:0;transform:scale(0) rotate(-120deg)}}@keyframes particle{25%{opacity:1}to{opacity:0}}@media(max-width:820px){.header{flex-basis:58px;height:58px;padding:0 14px}.wordmark>span:last-child{display:none}.brand-mark{width:32px;height:32px}.desktop-week,.timer-label{display:none}.mobile-week{display:block;grid-column:2}.header .round{width:34px;height:34px;border-radius:8px}.google-signin,.auth-user,.auth-logout{width:34px;height:34px;padding:0;justify-content:center;border-radius:8px}.google-signin span,.auth-user b,.auth-logout span{display:none}.auth-account{gap:3px}.auth-logout b{display:block;font:700 15px Fredoka,sans-serif}.auth-user img,.auth-user>span{width:25px;height:25px}.home-page,.game-page,.levels-page{height:calc(100dvh - 58px)}.home-page{padding:14px}.home-card{max-height:none;grid-template-columns:1fr;grid-template-rows:minmax(110px,.72fr) minmax(0,1.28fr);border-radius:15px;box-shadow:5px 6px 0 var(--shadow)}.home-card-art{border-right:0;border-bottom:3px solid var(--ink)}.home-card-art:before{width:150px;height:150px}.home-card-art:after{width:100px;height:100px}.art-star.one{width:88px;height:88px}.art-star.two{width:38px;height:38px;left:26%}.art-star.three{width:30px;height:30px;right:24%}.orbit-line{width:220px;height:62px}.home-card-copy{padding:clamp(18px,3.2vh,28px) 22px;justify-content:center}.home-card-copy h1{margin:5px 0 8px;font-size:clamp(58px,19vw,82px)}.home-description{font-size:13px;line-height:1.42}.week-games{margin-top:12px}.week-games button{width:42px;height:44px}.play-button{height:48px;margin-top:14px}.levels-button{min-height:36px;margin-top:9px}.home-footnote{display:none}.levels-page{padding:12px}.levels-shell{min-height:100%;padding:22px 16px;border-radius:15px;box-shadow:5px 6px 0 var(--shadow)}.levels-heading{align-items:start;flex-direction:column;gap:10px;padding-bottom:18px}.levels-heading h1{font-size:55px}.levels-heading>p{width:100%;font-size:14px}.level-login-callout{margin-top:16px;padding:14px;grid-template-columns:44px 1fr;gap:12px}.login-orbit{width:42px;height:42px}.login-orbit .star-icon{width:25px}.level-login-callout h2{font-size:19px}.level-login-callout>div>p:last-child{font-size:12px}.level-login-callout>button{grid-column:1 / -1;width:100%;height:48px;justify-content:center;font-size:10px}.level-grid{margin-top:18px;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.level-grid button{min-height:58px;grid-template-columns:38px minmax(0,1fr)}.level-number{width:38px;height:39px;font-size:15px}.level-copy b{font-size:13px}.level-copy small{font-size:7px}.game-shell{--board-size: min( calc(100vw - 24px) , calc(100dvh - 194px) );width:100%;height:100%;padding:10px 12px 8px;display:flex;align-items:center;justify-content:flex-start;flex-direction:column;gap:0}.game-info{display:none}.board-column{width:var(--board-size)}.mobile-game-meta{height:28px;display:flex;align-items:center;justify-content:space-between;font:600 9px DM Mono,monospace;letter-spacing:.04em}.board{border-width:3px;border-radius:10px;box-shadow:5px 6px 0 var(--shadow)}.mobile-message{width:100%;min-height:22px;height:22px;margin:5px 0 0;display:flex;justify-content:center;font-size:7px;text-align:center}.mobile-controls{display:block}.mobile-controls .game-controls{margin:0}.mobile-controls .control-row{gap:8px}.mobile-controls .control-row button{width:112px;min-width:0;height:48px;padding:0 12px;border-radius:9px;font-size:15px}.mobile-controls .reset{display:block;margin:10px auto 0}.help-modal{padding:24px 18px}.help-heading{grid-template-columns:1fr;gap:12px;padding:0 42px 20px 0}.help-heading>p{font-size:12px}.guide-rule summary{min-height:66px;grid-template-columns:42px 1fr 26px;gap:10px}.guide-number{width:38px;height:38px}.guide-rule-body{padding:2px 4px 22px 52px;grid-template-columns:minmax(112px,145px) 1fr;gap:18px}.guide-rule-body p{font-size:12px}.guide-rule-body h3{font-size:15px}}@media(max-width:520px){.guide-rule-body{padding-left:0;grid-template-columns:minmax(108px,38%) 1fr;gap:14px}.guide-rule summary b{font-size:15px}.guide-rule summary small{font-size:7px}}@media(max-width:360px){.header{padding-inline:9px}.header nav{gap:5px}.compact-day{padding-inline:8px}.game-shell{--board-size: min( calc(100vw - 18px) , calc(100dvh - 184px) );padding-inline:9px}.mobile-controls .control-row button{width:104px}}@media(max-height:650px)and (min-width:821px){.header{flex-basis:58px;height:58px}.game-page,.home-page,.levels-page{height:calc(100dvh - 58px)}.game-shell{--board-size: min(390px, calc(100dvh - 86px) , calc(100vw - 520px) )}.game-info h1{font-size:72px;margin-block:4px 10px}.difficulty{height:46px;margin-top:8px}.message{min-height:27px;margin-top:7px}.control-row button{height:48px}}@media(max-height:500px)and (min-width:600px){.header{flex-basis:48px;height:48px}.game-page,.home-page,.levels-page{height:calc(100dvh - 48px)}.game-shell{--board-size: min( calc(100dvh - 68px) , calc(100vw - 410px) );width:min(760px,calc(100% - 20px));grid-template-columns:300px var(--board-size);gap:30px}.game-info h1{font-size:58px}.game-date{font-size:23px}.difficulty{display:none}.home-page{padding:10px 18px}.home-card{grid-template-columns:minmax(220px,.8fr) minmax(390px,1.2fr)}.home-card-copy{padding:18px 30px}.home-card-copy h1{font-size:60px;margin-block:4px 8px}.home-description{font-size:12px}.week-games{margin-top:10px}.play-button{height:44px;margin-top:10px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
