:root{font-family:Arial,Helvetica,sans-serif;color:#063e3c;background:#fafafa;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}button:focus-visible,a:focus-visible{outline:3px solid #248dab;outline-offset:4px}main{width:min(100% - 32px,600px);margin:38px auto 24px}header{display:flex;align-items:center;justify-content:space-between;height:48px}a.mark{display:grid;place-items:center;background:#efefef;color:#259b43;width:48px;height:48px;border-radius:50%;font-weight:900;font-size:25px;text-decoration:none;letter-spacing:-3px;padding-right:3px}#timer{font-size:24px;font-weight:600;color:#737778;font-variant-numeric:tabular-nums}.circle{width:34px;height:34px;background:transparent;border:1.5px solid #cdd1ce;border-radius:50%;color:#777;font-weight:600;font-size:18px}.heading{margin:30px 0 40px}h1{font-size:27px;line-height:1.2;letter-spacing:-.6px;color:#2ba34b;margin:0 0 9px}.heading p{color:#777c7b;margin:0;font-size:17px}.board-wrap{position:relative;aspect-ratio:1}#board{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:repeat(4,minmax(0,1fr));gap:7px;height:100%;touch-action:auto;user-select:none;-webkit-user-select:none}.tile{border:0;border-radius:9px;background:#ededed;color:#063e3c;position:relative;font-size:clamp(11px,2.5vw,17px);font-weight:700;letter-spacing:-.45px;min-width:0;padding:3px;transition:background .15s,opacity .3s,transform .15s;z-index:1;overflow-wrap:anywhere}.tile.long{font-size:clamp(10px,2.15vw,14px)}.tile.selected{background:#b8e2c4;color:#064133}.tile.gone{opacity:0;pointer-events:none}#path{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:2}#categories{margin-top:24px;display:flex;justify-content:center;flex-wrap:wrap;gap:8px}.category{border:2px solid transparent;border-radius:28px;background:#eee;color:#343e3b;padding:10px 14px;font-size:14px;font-weight:600;display:flex;gap:10px;align-items:center}.category .count{font-size:12px;color:#7b827f}.category.active{border-color:#2ba34b;background:#e9f3eb}.category.solved{background:#def0e2;color:#247b3a}.category.solved .count{color:#247b3a}dialog{border:0;border-radius:16px;max-width:460px;width:calc(100% - 32px);padding:32px;color:#16473b;box-shadow:0 20px 100px #0002}dialog::backdrop{background:#12372c66}dialog h2{font-size:25px;margin:6px 0 20px}dialog p,dialog li{font-size:16px;line-height:1.55}dialog ol{padding-left:22px}dialog li{margin:12px 0}dialog .small{font-size:13px;color:#768079}.close{position:absolute;right:12px;top:8px;border:0;background:none;color:#7c837f;font-size:27px}#letsplay,#again{border:0;border-radius:24px;background:#2ba34b;color:white;padding:12px 25px;font-weight:700;font-size:16px}#victory{position:absolute;inset:0;z-index:3;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center}#victory[hidden]{display:none}.win-symbol{font-size:55px;color:#2ba34b}#victory h2{font-size:36px;letter-spacing:-1px;margin:14px 0 0}#victory p{color:#737978;font-size:17px;margin-bottom:28px}@keyframes pulse{50%{box-shadow:inset 0 0 0 4px #a2dba9}}@media(min-width:700px){main{width:500px}.heading{margin-bottom:42px}.tile{font-size:15px}.tile.long{font-size:12px}}@media(max-width:400px){main{margin-top:20px}.heading{margin:24px 0 26px}h1{font-size:25px}.heading p{font-size:15px}#board{gap:5px}.category{font-size:12px;padding:9px 10px;gap:7px}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

@media(max-width:699px){.tile{font-size:15px;letter-spacing:-.4px;white-space:nowrap}.tile.long{font-size:11px}}

.header-spacer{width:34px}.category{cursor:default}#path.near-miss polyline{animation:near-path 900ms ease-in-out infinite}@keyframes near-path{0%,100%{opacity:.3;stroke-width:9}50%{opacity:.9;stroke-width:12}}@media(prefers-reduced-motion:reduce){#path.near-miss polyline{animation:none;opacity:.9;stroke-width:12}}

#next{border:0;border-radius:24px;background:#2ba34b;color:white;padding:12px 25px;font-weight:700;font-size:16px}#again{background:transparent;color:#65766d;font-size:14px;font-weight:400;margin-top:10px;padding:9px}#win-title{max-width:90%;font-size:30px!important}dialog{max-height:88svh;overflow:auto}.heading h1{margin-bottom:0}.tile.long{font-size:14px;letter-spacing:-.5px}@media(max-width:400px){.tile.long{font-size:12px}}

.tile-flight{position:fixed!important;z-index:100;pointer-events:none!important;margin:0;opacity:1;background:#b8e2c4;color:#064133;transform-origin:center;box-shadow:0 3px 12px #063e3c12;transition:none!important}

.win-links{display:flex;align-items:center;justify-content:center;gap:14px;margin-top:10px}.win-links #again,#browse-rounds{border:0;background:transparent;color:#65766d;font-size:14px;font-weight:400;margin:0;padding:9px}#browse-rounds{text-decoration:underline;text-underline-offset:3px}#round-list{display:grid;gap:8px}.round-option{display:flex;align-items:center;gap:14px;text-align:left;min-height:48px;padding:12px 14px;border:1px solid transparent;border-radius:10px;background:#f0f2ef;color:#16473b;font-size:15px;line-height:1.4}.round-option:hover{background:#e1eee3}.round-option[aria-current]{border-color:#2ba34b;background:#e7f3e9}.round-number{color:#2a8c44;min-width:28px;font-variant-numeric:tabular-nums}#round-picker{padding:28px 22px}#round-picker h2{padding-right:20px}

.menu-toggle{width:44px;height:44px;padding:11px 9px;display:flex;flex-direction:column;justify-content:center;gap:5px;background:transparent;border:0;border-radius:9px}.menu-toggle span{height:2px;width:24px;background:#16473b;border-radius:2px}.menu-toggle:hover{background:#edf1ed}#round-picker{position:fixed;inset:0 auto 0 0;margin:0;width:min(360px,88vw);max-width:none;height:100dvh;max-height:100dvh;border-radius:0 16px 16px 0;padding:32px 22px;overscroll-behavior:contain}#round-picker[open]{animation:drawer-in 220ms ease-out}#round-picker .close{top:20px;right:14px}#round-picker h2{margin-bottom:25px}.round-detail{display:flex;flex-direction:column;gap:3px}.round-status{font-size:12px;color:#6c7c72}.round-option{width:100%;min-height:64px}.round-option[aria-current] .round-status{color:#267540}@keyframes drawer-in{from{transform:translateX(-100%);opacity:.5}to{transform:translateX(0);opacity:1}}

.credits{margin-top:38px;padding:12px 0 4px;text-align:center;font-size:12px;line-height:1.7;color:#7b827d}.credits a{color:inherit;text-underline-offset:3px}.credits a:hover{color:#267540}

#round-picker[open].closing{animation:drawer-out 220ms ease-in forwards}#round-picker[open]::backdrop{animation:drawer-backdrop-in 220ms ease-out}#round-picker[open].closing::backdrop{animation:drawer-backdrop-out 220ms ease-in forwards}@keyframes drawer-out{from{transform:translateX(0);opacity:1}to{transform:translateX(-100%);opacity:0}}@keyframes drawer-backdrop-in{from{opacity:0}to{opacity:1}}@keyframes drawer-backdrop-out{from{opacity:1}to{opacity:0}}

.round-tick{margin-left:auto;flex-shrink:0;color:#247b3a;font-size:14px;font-weight:600}

#puzzle-date{font-size:15px;color:#777c7b}
#next[hidden]{display:none}
#round-picker[open]{display:flex;flex-direction:column}#round-picker h2{flex-shrink:0}#round-list{min-height:0;overflow-y:auto;align-content:start;flex:1;scroll-padding-block:4px}

.tile,.category.solved{text-transform:uppercase}
.category{max-width:100%}.category-text{min-width:0}.category-name{display:block}.category-items{display:block;margin-top:4px;font-size:11px;line-height:1.45;font-weight:400;overflow-wrap:anywhere}.category .count{flex-shrink:0;align-self:center}

.category.solved .category-text{text-align:center}

/* Cleared cells and grid gaps scroll; live tiles retain direct swipe selection. */
.tile{touch-action:none}

#round-list{scrollbar-width:none}#round-list::-webkit-scrollbar{display:none}

.close:focus{outline:none}html.keyboard-navigation .close:focus-visible{outline:2px solid #248dab;outline-offset:2px;border-radius:6px}

#categories[hidden]{display:none}#admire{border:0;background:transparent;color:#65766d;font-size:14px;padding:9px;text-decoration:underline;text-underline-offset:3px}

#instructions{max-height:calc(100dvh - 32px);overflow:hidden}#instructions[open]{display:flex;flex-direction:column}#instructions h2{flex-shrink:0;padding-right:20px}#instructions .instructions-body{min-height:0;overflow-y:auto;overscroll-behavior:contain}#instructions .instructions-body ol{margin-top:0}

.category.solved.difficulty-0{background:#f8f0ce;color:#756017}.category.solved.difficulty-1{background:#def0e2;color:#247b3a}.category.solved.difficulty-2,.category.solved.difficulty-3{background:#e2eaf7;color:#375d91}.category.solved.difficulty-4{background:#eee2f5;color:#754b8c}.category.solved .count{color:inherit}
