:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#17231f;background:#f6f2e9;font-synthesis:none;text-rendering:optimizeLegibility;--ink: #17231f;--paper: #f6f2e9;--cream: #fffdf8;--sun: #f2c455;--coral: #ed7950;--mint: #79b7a7;--blue: #7698c8;--plum: #9a75a2;--line: rgba(23, 35, 31, .14);--shadow: 0 22px 60px rgba(30, 40, 34, .1)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px;min-height:100vh}button,input{font:inherit}button{color:inherit}button:focus-visible,a:focus-visible{outline:3px solid #397967;outline-offset:3px}.skip-link{position:fixed;z-index:100;top:-100px;left:10px;padding:10px 14px;border-radius:10px;background:var(--ink);color:#fff}.skip-link:focus{top:10px}.app-shell{min-height:100vh;overflow:hidden}.topbar,main,footer{width:min(1180px,calc(100% - 40px));margin-inline:auto}.topbar{height:88px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{display:inline-flex;align-items:center;gap:12px;color:var(--ink);text-decoration:none;font-weight:800;font-size:19px;line-height:1;letter-spacing:-.04em}.brand em{color:#6d776f;font-style:normal;font-weight:500}.brand-mark{width:32px;height:32px;display:grid;grid-template-columns:repeat(2,1fr);gap:3px;padding:5px;background:var(--ink);border-radius:10px;transform:rotate(-3deg)}.brand-mark i{display:block;border-radius:3px}.brand-mark i:nth-child(1){background:var(--sun)}.brand-mark i:nth-child(2){background:var(--coral)}.brand-mark i:nth-child(3){background:var(--mint)}.brand-mark i:nth-child(4){background:var(--cream)}.top-actions{display:flex;align-items:center;gap:12px}.plain-link{min-height:40px;border:0;background:transparent;color:#55615a;font-weight:700;font-size:13px;cursor:pointer}.date-pill{font-size:13px;font-weight:600;padding:9px 14px;border:1px solid var(--line);border-radius:999px}.ghost-button{border:0;border-radius:999px;background:var(--ink);color:#fff;padding:10px 16px;font-weight:700;cursor:pointer}.hero{min-height:310px;display:grid;grid-template-columns:1.45fr .55fr;gap:64px;align-items:end;padding:72px 0 54px}.eyebrow,.section-label{margin:0 0 13px;color:#69746d;font-size:11px;font-weight:800;letter-spacing:.16em;text-transform:uppercase}.hero h1{margin:0;font-weight:850;font-size:clamp(45px,7vw,84px);line-height:.95;letter-spacing:-.07em}.hero h1 span{color:transparent;-webkit-text-stroke:1.5px var(--ink)}.hero-copy{margin:0 0 5px;color:#59635d;font-size:17px;line-height:1.55;max-width:350px}.hero-side{align-self:end}.streak-row{display:flex;gap:20px;margin-top:22px;color:#748078;font-size:11px;text-transform:uppercase;letter-spacing:.06em}.streak-row strong{color:var(--ink);font-size:17px;letter-spacing:0}.archive-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:12px;padding:13px 16px;border:1px solid var(--line);border-radius:16px;background:#ffffff5c}.archive-toolbar .section-label{margin-bottom:3px}.archive-toolbar>div>strong{font-size:13px}.archive-controls{display:flex;align-items:center;gap:7px}.archive-controls button{min-width:40px;height:40px;border:1px solid var(--line);border-radius:11px;background:var(--cream);font-weight:800;cursor:pointer}.archive-controls button:disabled{opacity:.32;cursor:default}.archive-controls .today-button{padding-inline:14px}.archive-controls label{position:relative}.archive-controls label span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.archive-controls input{height:40px;padding:0 11px;border:1px solid var(--line);border-radius:11px;background:var(--cream);color:var(--ink);font-weight:700;cursor:pointer}.difficulty-tabs{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line);border-radius:20px;overflow:hidden;background:#ffffff59;margin-bottom:24px}.difficulty-tab{min-height:82px;display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;padding:18px 22px;border:0;border-right:1px solid var(--line);background:transparent;text-align:left;cursor:pointer;transition:background .2s ease,transform .2s ease}.difficulty-tab:last-child{border-right:0}.difficulty-tab:hover{background:#ffffffa6}.difficulty-tab.active{background:var(--cream);box-shadow:inset 0 -3px var(--ink)}.difficulty-dot{width:12px;height:12px;border-radius:4px;transform:rotate(12deg)}.difficulty-dot.sun{background:var(--sun)}.difficulty-dot.coral{background:var(--coral)}.difficulty-dot.mint{background:var(--mint)}.difficulty-tab strong,.difficulty-tab small{display:block}.difficulty-tab strong{font-weight:750;font-size:15px;line-height:1.2}.difficulty-tab small{margin-top:4px;color:#6c756f;font-size:12px}.difficulty-tab b{font-weight:650;font-size:13px;line-height:1;color:#727b75}.game-card{--accent: var(--sun);position:relative;scroll-margin-top:14px;background:var(--cream);border:1px solid var(--line);border-radius:32px;padding:clamp(22px,4vw,48px);box-shadow:var(--shadow);overflow:hidden}.game-card.coral{--accent: var(--coral)}.game-card.mint{--accent: var(--mint)}.game-card:before{content:"";position:absolute;width:360px;height:360px;top:-250px;right:-140px;border-radius:50%;background:var(--accent);opacity:.26;filter:blur(2px)}.game-heading{position:relative;display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin-bottom:22px}.game-heading h2{margin:0;font-weight:800;font-size:clamp(25px,3vw,38px);line-height:1.1;letter-spacing:-.045em}.game-stats{display:flex;gap:18px;color:#68716b;font-size:12px;white-space:nowrap}.game-stats span{padding-left:18px;border-left:1px solid var(--line)}.game-stats strong{color:var(--ink);font-size:17px}.game-stats .practice-badge{align-self:center;padding:7px 10px;border:0;border-radius:999px;background:#eee5cf;color:#785f2e;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.game-layout{position:relative;display:grid;grid-template-columns:minmax(0,680px) minmax(270px,1fr);grid-template-rows:auto 1fr;grid-template-areas:"board solved" "board controls";gap:14px 26px;align-items:start}.board-column{grid-area:board;width:100%;max-width:680px;min-width:0}.side-controls{grid-area:controls;min-width:0;align-self:end}.solved-groups{grid-area:solved;display:grid;gap:8px;min-width:0}.solved-group{display:grid;grid-template-columns:1fr;align-items:center;gap:5px;border-radius:15px;padding:11px 13px;animation:reveal .35s ease both}.solved-group.amber{background:#f4d98f}.solved-group.coral{background:#f1a184}.solved-group.mint{background:#a7d0c5}.solved-group.blue{background:#aabfdf}.solved-group.plum{background:#c7adcd}.solved-symbols{display:flex;justify-content:flex-start;gap:4px;font-size:clamp(18px,2vw,24px)}.solved-group strong,.solved-group small{display:block}.solved-group strong{font-weight:800;font-size:14px;line-height:1.2;text-transform:uppercase;letter-spacing:.05em}.solved-group small{margin-top:2px;opacity:.72;font-size:12px}.families-placeholder{display:flex;align-items:center;gap:12px;min-height:76px;padding:14px;border:1px dashed rgba(23,35,31,.2);border-radius:15px;color:#737d77}.families-placeholder>span{width:34px;height:34px;display:grid;place-items:center;flex:none;border-radius:10px;background:var(--accent);color:var(--ink)}.families-placeholder strong,.families-placeholder small{display:block}.families-placeholder strong{color:var(--ink);font-size:13px}.families-placeholder small{margin-top:3px;font-size:11px;line-height:1.35}.tile-grid{width:100%;min-width:0;display:grid;grid-template-columns:repeat(var(--grid-size),minmax(0,1fr));gap:clamp(6px,.75vw,10px)}.tile{position:relative;width:100%;aspect-ratio:1.18;min-width:0;min-height:44px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;padding:7px;border:1px solid rgba(23,35,31,.1);border-radius:clamp(11px,1.3vw,17px);background:#f1eee5;cursor:pointer;transition:transform .13s ease,background .13s ease,border-color .13s ease,box-shadow .13s ease;-webkit-tap-highlight-color:transparent;touch-action:manipulation}.tile:hover{transform:translateY(-2px);border-color:#17231f40;background:#f7f4ec}.tile.selected{transform:translateY(-3px) scale(.98);color:#fff;background:var(--ink);border-color:var(--ink);box-shadow:0 9px 19px #17231f30}.tile:disabled{cursor:wait}.tile span{font-size:clamp(23px,calc(52px - var(--grid-size) * 3px),44px);line-height:1;filter:saturate(.9)}.tile small{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:inherit;opacity:.72;font-size:clamp(8px,1.35vw,11px);font-weight:700}.selection-tray{min-height:76px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:5px;padding:14px;border-radius:15px;background:#f3f0e8;color:#7a837e;font-size:11px}.selection-tray span{text-transform:uppercase;letter-spacing:.06em;font-weight:800}.selection-tray strong{color:var(--ink);font-size:12px;line-height:1.45}.selection-tray b{color:#6f7973;font-size:10px;text-transform:uppercase;letter-spacing:.06em}.game-footer{display:flex;flex-direction:column;align-items:stretch;gap:14px;padding-top:16px}.notice{margin:0;color:#68716b;font-size:13px}.game-actions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:7px}.game-actions .primary-button{flex:1 0 100%;order:-1}.primary-button,.secondary-button,.text-button{border:0;cursor:pointer;transition:transform .15s ease,opacity .15s ease}.primary-button{display:inline-flex;align-items:center;justify-content:center;gap:18px;min-height:48px;padding:0 20px;border-radius:14px;background:var(--ink);color:#fff;font-weight:750}.primary-button span{color:#c4cec8;font-size:12px}.secondary-button{min-height:48px;padding:0 20px;border:1px solid var(--line);border-radius:14px;background:#fff;font-weight:800}.primary-button:hover:not(:disabled),.secondary-button:hover:not(:disabled),.text-button:hover:not(:disabled){transform:translateY(-1px)}.primary-button:disabled,.text-button:disabled{cursor:default;opacity:.35}.text-button{padding:10px 12px;background:transparent;font-size:13px;font-weight:700}.text-button.muted{color:#8b928e}.completion-card{min-height:480px;display:flex;flex-direction:column;align-items:center;justify-content:center;border:1px dashed rgba(23,35,31,.2);border-radius:24px;background:linear-gradient(145deg,#ffffffbf,#f6f2e9bf);text-align:center}.completion-burst{width:54px;height:54px;display:grid;place-items:center;margin-bottom:16px;border-radius:18px;background:var(--accent);font-size:24px;transform:rotate(-5deg)}.completion-card h3{margin:0 0 14px;font-weight:850;font-size:clamp(30px,5vw,52px);line-height:1;letter-spacing:-.06em}.share-squares{margin-bottom:20px;font-size:21px;letter-spacing:4px}.completion-numbers{display:flex;margin-bottom:26px}.completion-numbers span{min-width:100px;padding:0 20px;border-right:1px solid var(--line)}.completion-numbers span:last-child{border-right:0}.completion-numbers strong,.completion-numbers small{display:block}.completion-numbers strong{font-weight:800;font-size:20px;line-height:1}.completion-numbers small{margin-top:6px;color:#747d77;font-size:10px;text-transform:uppercase;letter-spacing:.09em}.completion-actions{display:flex;gap:8px}.daily-ladder{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px;padding:94px 0;align-items:start}.daily-ladder h2{margin:0;max-width:430px;font-weight:820;font-size:clamp(30px,4vw,48px);line-height:1.05;letter-spacing:-.055em}.next-puzzle{margin:24px 0 0;color:#717b75;font-size:13px}.ladder-cards{display:grid;gap:10px}.ladder-cards button{display:grid;grid-template-columns:46px 1fr auto;align-items:center;gap:12px;padding:18px 20px;border:1px solid var(--line);border-radius:16px;background:#fff6;text-align:left;cursor:pointer}.ladder-cards button:hover{background:var(--cream)}.ladder-cards button.complete{background:#dceae4}.ladder-cards span{color:#818983;font-weight:750;font-size:12px;line-height:1}.ladder-cards strong{font-weight:750;font-size:15px;line-height:1.2}.ladder-cards small{color:#78807b;font-size:11px}footer{display:flex;align-items:center;justify-content:space-between;gap:25px;min-height:100px;border-top:1px solid var(--line);color:#727a75;font-size:12px}footer span:first-child{color:var(--ink);font-weight:750;font-size:14px;line-height:1}footer p{margin:0}footer a{color:inherit;text-underline-offset:3px}.modal-backdrop{position:fixed;z-index:50;inset:0;display:grid;place-items:center;padding:18px;background:#101916a8;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.how-to{position:relative;width:min(480px,100%);max-height:calc(100vh - 36px);overflow:auto;padding:clamp(26px,5vw,44px);border-radius:28px;background:var(--cream);box-shadow:0 30px 100px #00000047}.how-to h2{margin:0 0 25px;font-weight:850;font-size:38px;letter-spacing:-.05em}.modal-close{position:absolute;top:16px;right:16px;width:42px;height:42px;border:0;border-radius:50%;background:#ece9df;font-size:26px;cursor:pointer}.how-example{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-bottom:24px}.how-example span{display:grid;place-items:center;aspect-ratio:1.2;border-radius:14px;background:#f1eee5;font-size:34px}.how-example b{grid-column:1 / -1;padding:12px;border-radius:12px;background:#f4d98f;text-align:center;text-transform:uppercase;letter-spacing:.08em;font-size:12px}.how-to ol{padding-left:21px;color:#4d5952;line-height:1.55}.how-to li+li{margin-top:9px}.how-note{padding:13px 15px;border-radius:12px;background:#edf3f0;color:#54625b;font-size:12px;line-height:1.5}.primary-button.wide{width:100%;margin-top:8px}@keyframes reveal{0%{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:none}}@media(max-width:940px){.game-layout{grid-template-columns:1fr;grid-template-rows:auto;grid-template-areas:"solved" "board" "controls";gap:10px}.board-column{max-width:none}.solved-group{grid-template-columns:minmax(120px,.65fr) 1fr;gap:16px}.solved-symbols{justify-content:center}.side-controls{align-self:auto}.selection-tray{min-height:58px}.game-footer{flex-direction:row;align-items:center;justify-content:space-between}.game-actions .primary-button{flex-basis:auto;order:0}}@media(max-width:760px){.topbar,main,footer{width:min(100% - 24px,620px)}.topbar{height:72px}.date-pill{display:none}.hero{min-height:auto;grid-template-columns:1fr;gap:24px;padding:48px 0 38px}.hero h1{font-size:clamp(43px,13vw,68px)}.hero-copy{max-width:440px;font-size:15px}.streak-row{margin-top:14px}.archive-toolbar{align-items:flex-start;padding:12px}.archive-toolbar>div:first-child{display:none}.archive-controls{width:100%}.archive-controls label{flex:1}.archive-controls input{width:100%}.difficulty-tabs{grid-template-columns:repeat(3,minmax(0,1fr));overflow:visible;border-radius:16px}.difficulty-tab{min-width:0;min-height:66px;grid-template-columns:auto 1fr;gap:6px;padding:11px 8px}.difficulty-tab strong{font-size:clamp(10px,3.2vw,13px)}.difficulty-tab small,.difficulty-tab b{display:none}.game-card{border-radius:22px;padding:18px}.game-heading{display:block;margin-bottom:20px}.game-stats{margin-top:16px}.game-stats span:first-child{padding-left:0;border-left:0}.solved-group{grid-template-columns:1fr;gap:6px;text-align:center;padding:10px}.solved-symbols{justify-content:center}.solved-group small{display:none}.tile{aspect-ratio:.92;padding:3px;border-radius:11px;gap:3px}.tile span{font-size:clamp(19px,calc(47px - var(--grid-size) * 4px),34px)}.tile small{font-size:clamp(6px,2.1vw,9px)}.game-footer{display:block}.notice{min-height:34px}.game-actions{justify-content:flex-end;flex-wrap:wrap}.primary-button{flex:1}.completion-card{min-height:330px;padding:25px 10px}.completion-numbers span{min-width:82px;padding:0 11px}.completion-actions{width:100%;flex-direction:column;padding:0 15px}.daily-ladder{grid-template-columns:1fr;gap:30px;padding:72px 0}footer{flex-direction:column;align-items:flex-start;justify-content:center;padding:25px 0}}@media(max-width:380px){.top-actions{gap:4px}.plain-link{padding-inline:6px;font-size:11px}.tile-grid{gap:5px}.game-card{padding:14px}.game-actions .muted{display:none}.tile small{font-size:6px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}
