@font-face{font-family:Thmanyah;src:url('../assets/fonts/thmanyahsans-Regular.woff2') format('woff2');font-weight:400;font-display:swap}@font-face{font-family:Thmanyah;src:url('../assets/fonts/thmanyahsans-Medium.woff2') format('woff2');font-weight:500;font-display:swap}@font-face{font-family:Thmanyah;src:url('../assets/fonts/thmanyahsans-Black.woff2') format('woff2');font-weight:900;font-display:swap}@font-face{font-family:ThmanyahDisplay;src:url('../assets/fonts/thmanyahserifdisplay-Bold.woff2') format('woff2');font-weight:700;font-display:swap}@font-face{font-family:ThmanyahText;src:url('../assets/fonts/thmanyahseriftext-Regular.woff2') format('woff2');font-display:swap}
:root{--paper:#fffaf2;--ink:#242339;--lilac:#ded9f3;--peach:#f3c7ae;--muted:#625e73;--line:#c9c1c2;--focus:#7460b9;--error:#a12d40;color:var(--ink);background:var(--paper);font-family:Thmanyah,sans-serif;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,a,select,input{touch-action:manipulation}button{cursor:pointer;color:inherit}a{color:inherit;text-decoration:none}button:disabled{opacity:.4;cursor:default}button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid var(--focus);outline-offset:4px}button{border:0;background:none}button:hover:not(:disabled){filter:brightness(.95)}[hidden]{display:none!important}.preview{text-align:center;font-size:11px;padding:8px;background:var(--ink);color:var(--paper);letter-spacing:.15px}.preview span{margin:0 12px;color:var(--peach)}.skip{position:absolute;top:-100px;z-index:20;background:var(--ink);color:white;padding:12px}.skip:focus{top:0}.site-header,main,footer{max-width:1320px;margin:auto;padding-inline:42px}.site-header{height:106px;display:flex;align-items:center;justify-content:space-between;gap:30px}.brand{font-weight:900;font-size:30px;white-space:nowrap}.site-header nav{display:flex;align-items:center;gap:30px;font-size:15px}.current{border-bottom:1px solid;padding:9px 0}.current span{margin-right:7px}.back-blog{border:1px solid;border-radius:30px;padding:10px 20px;font-size:13px}.intro{border-block:1px solid;position:relative;padding:35px 0 30px;display:grid;grid-template-columns:1.2fr .8fr;align-items:center;overflow:hidden}.eyebrow{font-size:13px;font-weight:500;display:block}.tiny-grid{font-size:24px;vertical-align:middle;margin-left:8px}h1,h2,h3,p{margin:0}h1{font-size:clamp(68px,7.2vw,100px);font-weight:900;line-height:1.35;letter-spacing:-2px;margin:7px 0 12px}h1 span{font-family:ThmanyahDisplay,serif;font-weight:700} .intro-copy>p{font-family:ThmanyahText,serif;font-size:21px;line-height:1.8}.intro-art{height:240px;position:relative;width:300px;justify-self:center;transform:rotate(-8deg)}.art-orbit{position:absolute;inset:12px 22px 18px;border:1px solid;border-radius:50%}.art-tile{position:absolute;display:grid;place-items:center;width:85px;height:85px;border:1.5px solid;font-size:52px;line-height:1;border-radius:19px;box-shadow:6px 6px 0 var(--ink);font-family:ThmanyahDisplay}.tile-one{top:15px;right:18px;transform:rotate(17deg);background:var(--lilac)}.tile-two{top:116px;left:17px;transform:rotate(-5deg);background:var(--peach)}.tile-three{left:55px;top:-4px;width:55px;height:55px;border-radius:13px;background:var(--paper);font-size:32px;box-shadow:3px 3px 0}.art-star{font-size:82px;position:absolute;top:95px;right:30px}.art-caption{position:absolute;left:-40px;bottom:8px;font-size:13px;line-height:1.8;transform:rotate(8deg)}.intro-end{grid-column:1/-1;display:flex;align-items:center;gap:14px;font-size:12px;margin-top:22px;color:var(--muted)}.adfree{border:1px solid var(--ink);border-radius:30px;padding:6px 13px;color:var(--ink);font-size:12px}.puzzle-shell{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(280px,1fr);gap:44px;padding:44px 0 50px;scroll-margin-top:16px}.play-area{min-width:0;max-width:650px;width:100%;justify-self:start}.game-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:22px}.game-heading h2{font-family:ThmanyahDisplay;font-size:32px;line-height:1.5;margin-top:8px}.game-heading .eyebrow{color:var(--muted);font-size:12px}.puzzle-stamp{font-size:10px;border:1px solid;border-radius:50%;width:58px;height:58px;display:flex;justify-content:center;align-items:center;flex-direction:column;transform:rotate(-10deg);line-height:1.8;flex-shrink:0}.puzzle-stamp b{font-size:16px;font-weight:400}.board-meta{display:flex;align-items:center;justify-content:space-between;font-size:12px;gap:10px;margin-bottom:13px}.board-meta b{font-weight:500}.timer-wrap{display:flex;align-items:center;gap:6px;direction:ltr}.timer-wrap time{font-variant-numeric:tabular-nums;font-size:15px}.pause{width:29px;height:29px;border:1px solid #c8c1d1;border-radius:50%;font-family:Arial;font-size:14px}.board-wrap{position:relative;isolation:isolate}.board{display:grid;grid-template-columns:repeat(9,minmax(0,1fr));aspect-ratio:1;border:2px solid var(--ink);border-radius:8px;overflow:hidden;background:var(--ink);gap:0}.cell{position:relative;display:grid;place-items:center;min-width:0;padding:0;background:var(--paper);border-right:1px solid var(--line);border-bottom:1px solid var(--line);font-size:clamp(21px,2.7vw,34px);font-family:Thmanyah, sans-serif;line-height:1;outline-offset:-4px!important;color:#67528e;transition:background .1s}.cell.block-right{border-right:2px solid var(--ink)}.cell.block-bottom{border-bottom:2px solid var(--ink)}.cell.last-col{border-right:0}.cell.last-row{border-bottom:0}.cell.given{color:var(--ink);font-weight:500}.cell.peer{background:#f0ecf6}.cell.same{background:#e1d5f3}.cell.selected{background:var(--lilac);box-shadow:inset 0 0 0 2px #6e5a9f;z-index:1}.cell.invalid{color:var(--error);background:#fae2df}.cell.hinted{background:var(--peach)}.cell.selected:focus-visible{outline:2px solid var(--ink)}.mini-notes{position:absolute;inset:4px;display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr);font-size:clamp(9px,1vw,12px);color:var(--muted)}.mini-notes span{display:grid;place-items:center}.progress-line{height:3px;margin:12px 0 0;background:#eae4db;border-radius:4px;overflow:hidden;direction:rtl}.progress-line span{display:block;height:100%;background:var(--ink);width:0;transition:width .3s}.board-help{font-size:12px;color:var(--muted);text-align:center;margin:13px 0 17px}.number-pad{display:grid;grid-template-columns:repeat(9,1fr);gap:7px}.number-key{border:1px solid var(--ink);border-radius:11px;aspect-ratio: .82;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:29px;background:var(--lilac);line-height:1.3;padding:4px 0}.number-key small{font-size:9px;opacity:.7}.tools{display:grid;grid-template-columns:repeat(4,1fr);margin-top:20px;gap:5px}.tools button{font-size:12px;display:flex;flex-direction:column;align-items:center;gap:7px;border-radius:10px;padding:8px 3px}.tools button>span{display:grid;place-items:center;width:37px;height:37px;border-radius:50%;border:1px solid;font-family:Arial,sans-serif;font-size:23px;line-height:1}.tools button[aria-pressed=true]{background:var(--lilac)}.tools button[aria-pressed=true]>span{background:var(--ink);color:var(--paper)}.game-status{font-size:12px;line-height:1.8;text-align:center;min-height:44px;margin-top:20px;color:var(--muted);padding:10px;border-radius:10px;background:#f3eee6}.sidebar{display:flex;flex-direction:column;gap:21px}.control-card{padding:27px;border:1px solid;border-radius:22px;background:var(--lilac)}.control-card h2{font-family:ThmanyahDisplay;font-size:36px;margin:4px 0 22px;line-height:1.5}.mode-tabs{display:flex;border:1px solid;border-radius:30px;padding:4px;margin-bottom:25px;gap:4px}.mode-tabs button{flex:1;border-radius:25px;padding:10px 7px;font-size:13px}.mode-tabs button[aria-pressed=true]{background:var(--ink);color:var(--paper)}.mode-tabs span{margin-right:5px}fieldset{border:0;padding:0;margin:0}legend{font-size:12px;margin-bottom:11px}.levels{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-bottom:22px}.levels button{border:1px solid #9c93b0;border-radius:13px;padding:11px 3px;font-size:14px;line-height:1.5}.levels button span{display:block;font-size:10px;color:var(--muted);margin-top:4px}.levels button[aria-pressed=true]{background:var(--paper);border-color:var(--ink);box-shadow:0 3px 0 var(--ink)}.solid,.outline{padding:13px 22px;border-radius:30px;font-size:14px;border:1px solid var(--ink)}.solid{background:var(--ink);color:var(--paper)}.wide{width:100%;display:flex;justify-content:space-between;align-items:center}.preferences{border-top:1px solid #b5adc9;margin-top:24px;padding-top:20px;display:grid;gap:17px}.preferences label{display:flex;align-items:center;justify-content:space-between;font-size:12px;gap:10px}.preferences select{background:var(--paper);border:1px solid #8f849f;border-radius:8px;padding:4px 8px;font-size:12px;color:var(--ink)}.preferences .switch-label{justify-content:flex-start;cursor:pointer}.switch-label input{accent-color:var(--ink);height:17px;width:17px;margin:0}.local-note{font-size:11px;line-height:1.8;color:var(--muted);margin-top:21px}.rules-card{background:var(--peach);border:1px solid;border-radius:22px;padding:25px 27px}.rule-heading{display:flex;gap:12px;align-items:center;margin-bottom:13px}.rule-heading>span{font-size:40px;line-height:1}.rule-heading h2{font-family:ThmanyahDisplay;font-size:29px}.rules-card p{font-size:13px;line-height:1.9}.rule-diagram{direction:ltr;margin:20px 0 15px;display:grid;grid-template-columns:repeat(3,30px);grid-template-rows:repeat(3,30px);width:max-content;border:1.5px solid;border-radius:6px;overflow:hidden;transform:rotate(-5deg);float:left;margin-right:20px}.rule-diagram span{display:grid;place-items:center;font-size:15px;border-right:1px solid #b98e79;border-bottom:1px solid #b98e79}.rule-diagram span:nth-child(3n){border-right:0}.rule-diagram span:nth-child(n+7){border-bottom:0}.rule-footer{padding-top:15px;padding-bottom:25px}.rule-footer strong{font-weight:500}.rules-card details{clear:both;border-top:1px solid #b98e79;padding-top:16px}.rules-card summary{cursor:pointer;font-size:13px;display:flex;justify-content:space-between;list-style:none}.rules-card summary::-webkit-details-marker{display:none}.rules-card details p{margin-top:14px;font-size:12px}.stats-card{border-block:1px solid;padding:18px 5px}.stats-card>div{display:flex;align-items:center;gap:22px;margin-top:10px}.stats-card strong{font-size:58px;line-height:1.3;font-family:ThmanyahDisplay;font-weight:700}.stats-card p{font-size:13px;line-height:1.7}.stats-card small{font-size:10px;color:var(--muted)}.closing{border-top:1px solid;border-bottom:1px solid;display:flex;gap:24px;align-items:center;justify-content:space-between;padding:34px 0}.closing>span{font-size:48px}.closing>div{flex:1}.closing h2{font-family:ThmanyahDisplay;font-size:28px;line-height:1.6}.closing p{font-size:13px;margin-top:6px;color:var(--muted)}.closing>a{font-size:13px;border-bottom:1px solid;padding-bottom:8px}footer{padding-block:32px 40px;display:flex;align-items:center;gap:25px;justify-content:space-between}footer .brand{font-size:25px}footer p,footer small{font-size:11px;color:var(--muted)}.board-overlay{position:absolute;inset:2px;z-index:5;border-radius:6px;background:var(--lilac);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:20px}.overlay-mark{font-family:serif;font-size:70px;line-height:1.3}.board-overlay h3{font-family:ThmanyahDisplay;font-size:38px;line-height:1.7}.board-overlay p{font-size:14px;line-height:1.8;margin:10px 0 24px}.board-overlay.win{background:var(--peach)}.text-button{margin-top:15px;font-size:12px;text-decoration:underline}dialog{border:1.5px solid var(--ink);border-radius:23px;background:var(--paper);color:var(--ink);padding:30px;max-width:420px;width:calc(100% - 35px)}dialog::backdrop{background:#24233977;backdrop-filter:blur(3px)}dialog h2{font-family:ThmanyahDisplay;font-size:32px;margin:10px 0}dialog p{font-size:14px;line-height:1.8}dialog form>div{display:flex;gap:10px;margin-top:25px}.noscript{padding:20px;background:var(--peach);text-align:center}
.art-caption{bottom:-30px;left:-45px}.number-pad{grid-template-columns:repeat(9,minmax(0,1fr))}.number-key{min-width:0}
@media(min-width:1400px){.puzzle-shell{gap:65px;grid-template-columns:minmax(0,1.55fr) minmax(280px,.9fr)}}
@media(max-width:900px){.site-header,main,footer{padding-inline:24px}.site-header nav{gap:19px;font-size:13px}.back-blog{display:none}.intro{grid-template-columns:1fr 1fr}.intro-art{transform:scale(.85) rotate(-8deg)}.puzzle-shell{gap:25px;grid-template-columns:minmax(0,1.3fr) minmax(240px,1fr)}.control-card,.rules-card{padding:23px 19px}.control-card h2{font-size:30px}.game-heading h2{font-size:26px}.puzzle-stamp{width:48px;height:48px}.cell{font-size:26px}.number-key{font-size:23px}.number-pad{gap:4px}.intro-copy>p{font-size:18px}.game-heading{gap:6px}.board-meta{font-size:10px}.closing h2{font-size:25px}}
@media(max-width:680px){.site-header,main,footer{padding-inline:20px}.site-header{height:89px;gap:15px}.brand{font-size:25px}.site-header nav{gap:16px;font-size:12px}.site-header nav>a:not(.current){display:none}.intro{padding:24px 0;grid-template-columns:1fr .65fr}.eyebrow{font-size:11px}h1{font-size:65px;line-height:1.45;letter-spacing:-1px;margin:2px 0 8px}.intro-copy>p{font-size:15px;line-height:1.8}.intro-art{width:160px;height:180px;transform:rotate(-8deg);align-self:center;justify-self:end}.art-orbit{inset:15px 5px 5px}.art-tile{width:60px;height:60px;font-size:37px;border-radius:14px;box-shadow:4px 4px 0}.tile-one{top:12px;right:5px}.tile-two{top:100px;left:5px}.tile-three{width:38px;height:38px;font-size:24px;top:0;left:15px;border-radius:10px;box-shadow:2px 2px 0}.art-star{font-size:54px;top:84px;right:11px}.art-caption{display:none}.intro-end{font-size:10px;margin-top:14px}.adfree{font-size:10px;padding:5px 10px}.puzzle-shell{display:flex;flex-direction:column;gap:28px;padding:27px 0 30px}.play-area{max-width:none}.game-heading{margin-bottom:14px}.game-heading h2{font-size:28px}.game-heading .eyebrow{font-size:10px}.board-meta{font-size:11px}.cell{font-size:clamp(23px,6.5vw,34px)}.number-key{font-size:26px;aspect-ratio:.8;border-radius:9px}.number-key small{font-size:8px}.tools{margin-top:15px}.game-status{margin-top:13px}.sidebar{display:grid;grid-template-columns:1fr;gap:20px}.control-card{padding:24px}.control-card h2{font-size:34px}.mode-tabs button{font-size:14px}.levels button{padding:13px 4px;font-size:16px}.levels button span{font-size:11px}.preferences label{font-size:13px}.local-note{font-size:12px}.rules-card{padding:25px}.rule-heading h2{font-size:30px}.stats-card>div{margin-top:0}.stats-card{display:flex;align-items:center;justify-content:space-between}.stats-card strong{font-size:45px}.closing{padding:24px 0;gap:15px;flex-wrap:wrap}.closing h2{font-size:25px}.closing>span{font-size:32px}.closing>a{margin-right:47px;font-size:12px}.closing>div{min-width:220px}footer{flex-wrap:wrap;gap:12px;padding-block:25px}footer small{width:100%;font-size:10px}.mini-notes{font-size:10px;inset:3px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

.site-header>.brand{font-family:ThmanyahDisplay,serif;font-weight:700;font-size:44px;line-height:1.5}
@media(max-width:680px){.site-header>.brand{font-size:38px}}
