@import "https://fonts.googleapis.com/css2?family=Archivo+Narrow:wght@600;700&display=swap";:root{--surface:#f3efdf;--surface-deep:#e9e0c8;--ink:#191815;--muted:#625f55;--line:#19181547;--cobalt:#1746d1;--vermilion:#e44225;--emerald:#008f5d;--violet:#7041c6;--selection-soft:#cbdad3;--matching-soft:#dde9e3;--accent:var(--cobalt);--gutter:clamp(2rem, 4vw, 5rem);--content:1600px;--header-height:5.5rem;--type-label:.72rem;--type-meta:.75rem;--type-body:1rem;--type-action:clamp(1.65rem, 2vw, 1.85rem);--display:"Archivo Narrow", "Arial Narrow", "Helvetica Neue", Arial, sans-serif;--body:"Helvetica Neue", Helvetica, Arial, sans-serif;--mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;color:var(--ink);background:var(--surface);font-family:var(--body);font-synthesis:none}*{box-sizing:border-box}html,body,#root{background:var(--surface);min-width:320px;min-height:100%;margin:0}button,a{color:inherit;font:inherit}button{border-radius:0}a{text-decoration:none}button:focus-visible,a:focus-visible{outline:3px solid var(--accent);outline-offset:3px}.accent-cobalt{--accent:var(--cobalt)}.accent-vermilion{--accent:var(--vermilion)}.accent-emerald{--accent:var(--emerald)}.accent-violet{--accent:var(--violet)}.page-frame{width:min(var(--content), calc(100% - (2 * var(--gutter))));margin-inline:auto}.site-header,.game-breadcrumb{height:var(--header-height);border-bottom:1px solid var(--ink);align-items:center;display:flex}.site-wordmark,.game-breadcrumb{font:700 2rem/1 var(--display);text-transform:uppercase}.site-wordmark span{color:var(--vermilion);margin-left:.12em}.site-wordmark{transition:color .14s}.site-wordmark:hover{color:var(--cobalt)}.game-breadcrumb>span{color:var(--vermilion);margin-inline:.12em}.game-breadcrumb{gap:0}.game-breadcrumb a,.game-breadcrumb button{transition:color .14s}.game-breadcrumb a:hover,.game-breadcrumb button:hover{color:var(--accent)}.game-breadcrumb button{text-transform:uppercase;cursor:pointer;background:0 0;border:0;padding:0}.game-breadcrumb a:first-child{color:var(--muted)}.game-breadcrumb a:first-child:hover{color:var(--accent)}.home-page,.game-overview{min-height:100vh}.home-intro{border-bottom:1px solid var(--ink);grid-template-columns:minmax(12rem,.48fr) minmax(32rem,1.52fr);min-height:65vh;display:grid}.home-intro-rail{flex-direction:column;justify-content:space-between;padding:2.75rem 2.75rem 3.5rem 0;display:flex}.home-intro-rail span,.section-label,.stage-caption,.game-metric span,.record-list span{font:700 var(--type-label)/1.3 var(--mono);letter-spacing:.05em;text-transform:uppercase}.home-intro-rail strong{max-width:12rem;font:700 clamp(2.2rem, 3.6vw, 4rem)/.9 var(--display);letter-spacing:-.035em;text-transform:uppercase}.home-intro-main{border-left:1px solid var(--line);flex-direction:column;align-items:flex-start;padding:2.75rem 0 3.5rem clamp(2rem,5vw,6rem);display:flex}.home-intro-annotation{font:700 var(--type-label)/1.3 var(--mono);letter-spacing:.05em;text-transform:uppercase;margin-left:auto}.home-intro h1{max-width:11ch;font:700 clamp(5rem, 10.5vw, 11rem)/.78 var(--display);letter-spacing:-.055em;text-transform:uppercase;margin:clamp(4rem,9vh,7rem) 0 0 -.055em}.home-intro h1 span{display:block}.home-intro p{max-width:40rem;color:var(--muted);letter-spacing:-.025em;margin:2.5rem 0 0;font-size:clamp(1.15rem,1.8vw,1.7rem);line-height:1.35}.catalog{padding-block:4rem 0}.catalog-group{border-block:1px solid var(--ink)}.catalog-group+.catalog-group{border-top:0;margin-top:0}.category-heading{border-bottom:1px solid var(--ink);grid-template-columns:7rem 1fr;align-items:center;min-height:3.5rem;padding-inline:1.25rem;display:grid}.category-heading span{font:700 var(--type-label) var(--mono)}.category-heading h2{font:700 1.1rem var(--display);text-transform:uppercase;margin:0}.catalog-entry{border-bottom:1px solid var(--line);isolation:isolate;grid-template-columns:7rem minmax(14rem,.7fr) minmax(24rem,1.3fr) 3rem;align-items:center;gap:1.5rem;min-height:8.5rem;padding-inline:1.25rem;display:grid;position:relative;overflow:hidden}.catalog-entry:last-child{border-bottom:0}.catalog-entry:before{content:"";z-index:-1;background:var(--accent);transition:transform .18s;position:absolute;inset:0;transform:translate(-101%)}.catalog-entry:hover:before,.catalog-entry:focus-visible:before{transform:translate(0)}.catalog-entry:hover,.catalog-entry:focus-visible{color:var(--surface)}.game-index{color:var(--ink);font:700 3.2rem/1 var(--display)}.catalog-entry:hover .game-index,.catalog-entry:focus-visible .game-index{color:inherit}.catalog-entry strong{font:700 clamp(2.2rem, 4vw, 3.4rem)/.9 var(--display);text-transform:uppercase}.game-description{max-width:38rem;color:var(--muted);font-size:clamp(.95rem,1.1vw,1.05rem);line-height:1.45}.catalog-entry:hover .game-description,.catalog-entry:focus-visible .game-description{color:inherit}.entry-arrow{color:var(--ink);justify-self:end;font-size:1.8rem}.catalog-entry:hover .entry-arrow,.catalog-entry:focus-visible .entry-arrow{color:inherit}.site-footer{border-top:1px solid var(--line);color:var(--muted);grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:2rem;margin-top:4rem;padding:1.5rem 0 3rem;font-size:.85rem;line-height:1.5;display:grid}.site-footer div{flex-direction:column;gap:.5rem;display:flex}.site-footer strong{color:var(--ink);font-size:var(--type-meta);letter-spacing:.1em;text-transform:uppercase}.site-footer p{text-align:right;margin:0}.overview-top{grid-template-columns:minmax(25rem,.92fr) minmax(34rem,1.08fr);align-items:start;gap:clamp(3rem,7vw,8rem);padding-block:clamp(3rem,6vw,6rem);display:grid}.orientation-mark{color:var(--accent);font:700 4rem/1 var(--display)}.overview-intro h1{font:700 clamp(4.5rem, 7.5vw, 8rem)/.75 var(--display);letter-spacing:-.05em;text-transform:uppercase;margin:1.5rem 0 2rem}.overview-intro p{max-width:31rem;color:var(--muted);margin:0;line-height:1.55}.overview-setup{border-top:1px solid var(--ink)}.overview-setup-content{padding-top:1.5rem}.section-label{color:var(--accent)}.difficulty-list{border-top:1px solid var(--ink);margin-top:1.25rem}.difficulty-list button{border:0;border-bottom:1px solid var(--line);text-align:left;cursor:pointer;background:0 0;grid-template-columns:3rem minmax(9rem,1fr) minmax(10rem,1fr) 2rem;align-items:center;gap:1rem;width:100%;min-height:5rem;padding:0 1rem;display:grid}.difficulty-list button:hover:not(:disabled),.difficulty-list button:focus-visible{background:var(--accent);color:var(--surface)}.difficulty-list button>span,.difficulty-list small{font:.65rem var(--mono)}.difficulty-list strong{font:700 1.5rem var(--display);text-transform:uppercase}.difficulty-list i{justify-self:end;font-size:1.25rem;font-style:normal}.difficulty-list button:disabled{opacity:.45;cursor:wait}.overview-actions{gap:0;margin-top:1.25rem;display:grid}.primary-action,.secondary-action{border:0;border-bottom:1px solid var(--line);text-align:left;cursor:pointer;width:100%;min-height:5rem;padding:0 1rem}.primary-action{background:var(--ink);color:var(--surface)}.secondary-action{background:0 0}.setup-record{border-top:1px solid var(--line);justify-content:space-between;align-items:end;margin-top:2rem;padding-top:1rem;display:flex}.setup-record span{font:700 .65rem var(--mono);text-transform:uppercase}.setup-record strong{font:700 3.5rem/.8 var(--display)}.overview-sections{border-top:1px solid var(--ink)}.overview-section{border-bottom:1px solid var(--line);grid-template-columns:minmax(18rem,.62fr) minmax(0,1.38fr);align-items:stretch;gap:clamp(2rem,5vw,5rem);min-height:11rem;padding-block:2.25rem;display:grid}.overview-section-heading{flex-direction:column;justify-content:space-between;gap:1.5rem;display:flex}.overview-section h2{max-width:28rem;font:700 clamp(2.5rem, 4vw, 4.25rem)/.86 var(--display);text-transform:uppercase;margin:0}.editorial-guide{border-top:1px solid var(--ink);grid-template-columns:repeat(auto-fit,minmax(12rem,1fr));display:grid}.editorial-guide article{border-left:1px solid var(--line);min-width:0;padding:1rem 1.5rem 0}.editorial-guide article:first-child{border-left:0;padding-left:0}.editorial-guide article>span{color:var(--accent);font:700 .65rem var(--mono)}.editorial-guide h3{font:700 1.45rem/1 var(--display);text-transform:uppercase;margin:1rem 0 .75rem}.editorial-guide p{color:var(--muted);margin:0;line-height:1.5}.overview-action-row{border:0;border-bottom:1px solid var(--line);text-align:left;cursor:pointer;background:0 0;grid-template-columns:3rem minmax(9rem,1fr) minmax(10rem,1fr) 2rem;align-items:center;gap:1rem;width:100%;min-height:5rem;padding:0 1rem;display:grid}.overview-action-row>span,.overview-action-row small{font:.65rem var(--mono)}.overview-action-row strong{font:700 1.5rem var(--display);text-transform:uppercase}.overview-action-row i{justify-self:end;font-size:1.25rem;font-style:normal}.overview-action-row:hover,.overview-action-row:focus-visible{background:var(--accent);color:var(--surface)}.overview-action-row.inverted{background:var(--ink);color:var(--surface)}.overview-action-row.inverted:hover{background:var(--accent)}.record-list{border-top:1px solid var(--line);grid-template-columns:repeat(3,1fr);display:grid}.record-list div{border-right:1px solid var(--line);flex-direction:column;justify-content:space-between;min-height:5rem;padding:1rem;display:flex}.record-list strong{font:700 1.65rem var(--display)}.generation-status,.generation-error{font:700 .65rem var(--mono);text-transform:uppercase;margin:1rem 0 0}.generation-error{color:var(--vermilion)}.loading-mark{border:2px solid var(--line);border-top-color:var(--accent);width:.7rem;height:.7rem;margin-right:.5rem;animation:.8s linear infinite spin;display:inline-block}.shared-game-page{min-width:980px;height:100dvh;overflow:hidden}.game-play{height:calc(100dvh - var(--header-height));grid-template-columns:minmax(0,1fr) minmax(17rem,21rem);gap:clamp(2rem,4vw,4rem);padding-block:clamp(.75rem,2vh,1.5rem);display:grid;overflow:hidden}.game-stage{min-width:0;height:100%;min-height:0;position:relative}.game-rail{border-left:1px solid var(--line);flex-direction:column;justify-content:flex-start;min-width:0;min-height:0;padding:0 0 0 clamp(1.5rem,3vw,3rem);display:flex}.stage-caption{border-top:1px solid var(--ink);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;height:2.5rem;display:flex}.metric-list{border-top:1px solid var(--ink)}.game-metric{border-bottom:1px solid var(--line);justify-content:space-between;align-items:end;gap:1rem;min-height:4.25rem;padding:.8rem 0;display:flex}.game-metric strong{font:700 1.55rem var(--display);text-transform:uppercase}.game-actions{border-top:1px solid var(--ink);margin-block:1.25rem 1.75rem}.rail-action{border:0;border-bottom:1px solid var(--line);text-align:left;width:100%;min-height:3.25rem;font:700 .65rem var(--mono);text-transform:uppercase;cursor:pointer;background:0 0;padding-inline:.75rem}.rail-action:hover,.rail-action.active{background:var(--ink);color:var(--surface)}kbd{float:right;font:inherit;border:1px solid;padding:.15rem .3rem}.game-overlay,.pause-cover{z-index:4;text-align:center;background:#f3efdff2;flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:2.5rem 0 0}.game-overlay>span,.pause-cover>span{font:700 .65rem var(--mono);text-transform:uppercase}.game-overlay strong,.pause-cover strong{font:700 clamp(3rem, 6vw, 6rem)/.8 var(--display);text-transform:uppercase;margin:1rem}.game-overlay button,.pause-cover button{border:1px solid var(--ink);background:var(--ink);color:var(--surface);cursor:pointer;padding:.8rem 1rem}.result-rail>span{color:var(--accent);font:700 .65rem var(--mono);letter-spacing:.05em;text-transform:uppercase}.result-rail h2{font:700 clamp(3.25rem, 5vw, 5rem)/.8 var(--display);letter-spacing:-.04em;text-transform:uppercase;margin:1rem 0 2rem}.result-detail{color:var(--muted);margin:-1rem 0 2rem;line-height:1.45}.board-column,.snake-stage,.mine-stage-inner{flex-direction:column;height:100%;min-height:0;display:flex;position:relative}.board-wrap{flex:1;place-items:center;min-height:0;display:grid;position:relative}.sudoku-board{width:min(100%, calc(100dvh - var(--header-height) - 5.5rem));aspect-ratio:1;border:2px solid var(--ink);background:var(--ink);grid-template-rows:repeat(9,minmax(0,1fr));grid-template-columns:repeat(9,minmax(0,1fr));gap:1px;display:grid}.sudoku-cell{background:var(--surface);cursor:pointer;border:0;min-width:0;min-height:0;padding:0;position:relative}.sudoku-board button:focus-visible,.mine-board button:focus-visible{outline:2px solid var(--ink);outline-offset:-2px}.sudoku-cell.related{background:var(--surface-deep)}.sudoku-cell.same:not([aria-selected=true]){background:var(--matching-soft);box-shadow:none}.sudoku-cell[aria-selected=true]{background:var(--selection-soft);box-shadow:inset 0 0 0 3px var(--ink);z-index:2}.sudoku-cell.player-entry:not(.hinted){color:var(--violet)}.sudoku-cell.player-entry:not(.hinted):before{content:"·";font:700 .85rem var(--mono);position:absolute;bottom:1px;left:4px}.sudoku-cell.given .cell-value{color:var(--ink)}.sudoku-cell.conflict,.sudoku-cell.validation-error{color:var(--vermilion);box-shadow:inset 0 0 0 2px var(--vermilion)}.sudoku-cell.conflict:after,.sudoku-cell.validation-error:after{content:"!";font:700 .55rem var(--mono);position:absolute;top:3px;right:4px}.sudoku-cell.hinted .cell-value{color:var(--violet)}.sudoku-cell.hinted:after{content:"◇";color:var(--violet);position:absolute;top:3px;right:4px}.sudoku-cell:nth-child(9n+3),.sudoku-cell:nth-child(9n+6){border-right:2px solid var(--ink)}.sudoku-cell:nth-child(n+19):nth-child(-n+27),.sudoku-cell:nth-child(n+46):nth-child(-n+54){border-bottom:2px solid var(--ink)}.cell-value{font:700 clamp(1.2rem, 2.5vw, 2.5rem)/1 var(--display)}.cell-notes{grid-template-rows:repeat(3,1fr);grid-template-columns:repeat(3,1fr);display:grid;position:absolute;inset:3px}.cell-notes i{font:normal clamp(.42rem, .75vw, .7rem)/1 var(--mono);place-items:center;display:grid}.validation-message{min-height:2.25rem;color:var(--muted);font:700 .62rem/1.4 var(--mono);text-transform:uppercase;grid-column:1/-1;margin:.65rem 0 0}.sudoku-entry{min-height:100vh}.sudoku-entry-hero{border-bottom:1px solid var(--ink);grid-template-columns:minmax(15rem,.48fr) minmax(0,1.52fr);min-height:31rem;display:grid}.sudoku-entry-index{border-right:1px solid var(--line);flex-direction:column;justify-content:space-between;padding:2.5rem 2rem 2.5rem 0;display:flex}.sudoku-entry-index span,.sudoku-entry-section header span,.sudoku-guide article>span{font:700 var(--type-label)/1 var(--mono);letter-spacing:.07em;text-transform:uppercase}.sudoku-entry-index strong{color:var(--violet);font:700 6rem/.8 var(--display)}.sudoku-entry-copy{padding:clamp(4rem,8vh,7rem) 0 3rem clamp(2.5rem,6vw,7rem)}.sudoku-entry-copy h1{font:700 clamp(4.5rem, 9vw, 9.5rem)/.72 var(--display);letter-spacing:-.055em;text-transform:uppercase;margin:0 0 2rem -.04em}.sudoku-entry-copy p{max-width:38rem;color:var(--muted);margin:0;font-size:1.15rem;line-height:1.5}.sudoku-entry-section{--entry-content-inset:1.5rem;border-bottom:1px solid var(--ink);grid-template-rows:auto auto;grid-template-columns:minmax(15rem,.48fr) minmax(0,1.52fr);padding:4rem 0 0;display:grid}.sudoku-entry-section>header{display:contents}.sudoku-entry-section>header>span{color:var(--ink);font:700 var(--type-label)/1 var(--body);letter-spacing:.12em;text-transform:uppercase;grid-column:1/-1;align-items:center;gap:1rem;margin-bottom:1.5rem;display:flex}.sudoku-entry-section>header>span:after{content:"";border-top:1px solid var(--line);flex:1}.sudoku-entry-section h2{border-top:1px solid var(--line);width:100%;font:700 clamp(3.25rem, 4.6vw, 5.25rem)/.8 var(--display);letter-spacing:-.035em;text-transform:uppercase;grid-area:2/1;margin:0;padding:1.75rem 2rem 1.75rem 0}.sudoku-entry-section>:not(header){border-top:1px solid var(--line);border-left:1px solid var(--line);grid-area:2/2;min-width:0}.sudoku-entry-content{display:block}.sudoku-levels{border-top:0;display:block}.sudoku-levels button{width:100%;min-height:5rem;padding:0 var(--entry-content-inset);border:0;border-bottom:1px solid var(--line);text-align:left;cursor:pointer;background:0 0;grid-template-columns:3.5rem minmax(8rem,.7fr) minmax(12rem,1.3fr) 2rem;align-items:center;gap:1rem;display:grid}.sudoku-levels button:last-child{border-bottom:1px solid var(--line)}.sudoku-levels button>span,.sudoku-levels small{font:var(--type-meta)/1.3 var(--mono)}.sudoku-levels strong{font:700 var(--type-action)/1 var(--display);text-transform:uppercase}.sudoku-levels small{color:var(--muted)}.sudoku-levels i{font:normal 1.4rem var(--body);justify-self:end}.sudoku-levels button:hover:not(:disabled){background:var(--violet);color:var(--surface)}.sudoku-levels button:hover small{color:inherit}.sudoku-levels .sudoku-continue{background:var(--ink);color:var(--surface)}.sudoku-levels .sudoku-continue small{color:inherit}.sudoku-records,.sudoku-guide{border-top:0;grid-template-columns:repeat(3,1fr);display:grid}.sudoku-records>div,.sudoku-guide article{min-width:0;min-height:9rem;padding:1.75rem var(--entry-content-inset);border-left:1px solid var(--line)}.sudoku-records>div:first-child,.sudoku-guide article:first-child{border-left:0}.sudoku-records span{font:700 var(--type-label) var(--mono);text-transform:uppercase}.sudoku-records strong{font:700 2.5rem var(--display);margin-top:2rem;display:block}.sudoku-guide h3{font:700 1.5rem/1 var(--display);text-transform:uppercase;margin:1.5rem 0 .75rem}.sudoku-guide p{color:var(--muted);margin:0;line-height:1.45}.sudoku-guide{display:block}.sudoku-guide article{min-height:9.5rem;padding:1.75rem var(--entry-content-inset);border-left:0;border-bottom:1px solid var(--line);grid-template-columns:clamp(5rem,7vw,7.5rem) minmax(0,1fr);grid-template-areas:"index title""index body";align-content:center;align-items:start;column-gap:clamp(1.5rem,3vw,3rem);display:grid}.sudoku-guide article:last-child{border-bottom:0}.sudoku-guide article>span{color:var(--violet);font:700 clamp(1.9rem, 2.8vw, 2.8rem)/.85 var(--display);letter-spacing:-.035em;grid-area:index}.sudoku-guide h3{grid-area:title;margin:0;font-size:clamp(1.75rem,2.25vw,2.35rem)}.sudoku-guide p{grid-area:body;max-width:48rem;margin-top:.8rem;font-size:clamp(1rem,1.15vw,1.2rem);line-height:1.5}.sudoku-session{min-width:980px;height:100dvh;overflow:hidden}.sudoku-workspace{--board-side:min(calc(100dvh - var(--header-height) - 4rem), 57vw);height:calc(100dvh - var(--header-height));grid-template-columns:var(--board-side) minmax(0, 1fr);padding-block:1rem;display:grid}.sudoku-board-field{flex-direction:column;min-width:0;min-height:0;display:flex}.sudoku-board-caption{height:2rem;font:700 .66rem/1 var(--mono);letter-spacing:.05em;text-transform:uppercase;justify-content:space-between;align-items:center;display:flex}.sudoku-board-field .board-wrap{flex:none;display:block}.sudoku-board-field .sudoku-board{width:var(--board-side);border-right:2px solid var(--ink)}.sudoku-console{flex-direction:column;min-width:0;min-height:0;padding-left:clamp(2rem,3.5vw,4.5rem);display:flex}.sudoku-session-heading{border-bottom:1px solid var(--ink);grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"meta time""description time";align-items:start;column-gap:2rem;padding:clamp(1.25rem,2.5vh,2rem) 0;display:grid}.sudoku-session-heading span,.sudoku-digit-section>span,.sudoku-tool-section>span,.sudoku-finish>span{color:var(--muted);font:700 .68rem/1 var(--mono);letter-spacing:.07em;text-transform:uppercase}.sudoku-session-heading>span{grid-area:meta;align-self:start}.sudoku-session-heading strong{text-align:right;min-width:3.2ch;font:700 clamp(3.25rem, 5vw, 5.5rem)/.75 var(--display);letter-spacing:-.035em;font-variant-numeric:tabular-nums;grid-area:time;align-self:start}.sudoku-session-heading p{max-width:34rem;color:var(--muted);grid-area:description;align-self:end;margin:1rem 0 0}.sudoku-command-deck{padding-top:clamp(1.5rem,3vh,2.5rem)}.sudoku-digit-section>span,.sudoku-tool-section>span{margin-bottom:.75rem;display:block}.sudoku-digit-line{border-block:1px solid var(--ink);grid-template-columns:repeat(9,minmax(0,1fr));display:grid}.sudoku-digit-line button{border:0;border-left:1px solid var(--line);min-width:0;min-height:clamp(3.75rem,8vh,5.25rem);font:700 clamp(1.5rem, 2.4vw, 2.35rem)/1 var(--display);cursor:pointer;background:0 0;padding:0}.sudoku-digit-line button:first-child{border-left:0}.sudoku-digit-line button:hover:not(:disabled){background:var(--ink);color:var(--surface)}.sudoku-tool-section{margin-top:clamp(1.5rem,3vh,2.5rem)}.sudoku-tool-directory{border-block:1px solid var(--ink);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.sudoku-tool-directory button{border:0;border-left:1px solid var(--line);border-bottom:1px solid var(--line);text-align:left;cursor:pointer;background:0 0;grid-template-columns:minmax(0,1fr) 3rem;align-items:center;gap:.75rem;min-width:0;min-height:clamp(4rem,8vh,5rem);padding:.75rem 1rem;display:grid}.sudoku-tool-directory button:nth-child(3n+1){border-left:0}.sudoku-tool-directory button:nth-last-child(-n+3){border-bottom:0}.sudoku-tool-directory strong{font:700 clamp(1rem, 1.4vw, 1.3rem)/1 var(--display);text-transform:uppercase}.sudoku-tool-directory i{text-align:center;width:3rem;font:normal clamp(1.5rem, 2vw, 2rem)/1 var(--body);justify-self:end}.sudoku-tool-directory button:hover:not(:disabled){background:var(--surface-deep)}.sudoku-tool-directory button.active{color:var(--violet);box-shadow:inset 0 -3px 0 var(--violet)}.sudoku-tool-directory .hint-tool i{color:var(--violet)}.sudoku-tool-directory button:disabled,.sudoku-digit-line button:disabled{color:var(--muted);opacity:.35;cursor:not-allowed}.sudoku-command-deck .validation-message{min-height:2rem;margin:.65rem 0 0}.sudoku-session-links{border-top:1px solid var(--ink);grid-template-columns:repeat(2,minmax(0,1fr));margin-top:auto;display:grid}.sudoku-session-links button{border:0;border-left:1px solid var(--line);text-align:left;min-height:4rem;font:700 .72rem var(--mono);text-transform:uppercase;cursor:pointer;background:0 0;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:1rem;padding:0 1rem;display:grid}.sudoku-session-links button:first-child{border-left:0}.sudoku-session-links button:hover{background:var(--ink);color:var(--surface)}.sudoku-session-links i{font:normal 1.4rem var(--body)}.sudoku-session-links kbd{float:none}.sudoku-finish{flex-direction:column;height:100%;padding-top:clamp(2rem,5vh,4rem);display:flex}.sudoku-finish h2{font:700 clamp(5rem, 10vw, 10rem)/.72 var(--display);letter-spacing:-.05em;text-transform:uppercase;margin:1rem 0 clamp(2rem,5vh,4rem)}.sudoku-finish dl{border-top:1px solid var(--ink);grid-template-columns:repeat(2,minmax(0,1fr));margin:0;display:grid}.sudoku-finish dl>div{border-left:1px solid var(--line);border-bottom:1px solid var(--line);min-height:5rem;padding:1rem}.sudoku-finish dl>div:nth-child(odd){border-left:0}.sudoku-finish dt{font:700 .68rem var(--mono);text-transform:uppercase}.sudoku-finish dd{font:700 1.75rem var(--display);text-transform:uppercase;margin:1rem 0 0}.sudoku-confirm{border-block:2px solid var(--ink);background:var(--surface);width:min(58rem,100%)}.sudoku-confirm>span{font:700 .68rem var(--mono);padding:1.5rem 2rem 0;display:block}.sudoku-confirm h2{font:700 clamp(3.5rem, 7vw, 6.5rem)/.78 var(--display);text-transform:uppercase;margin:2rem 2rem 1rem}.sudoku-confirm p{max-width:40rem;color:var(--muted);margin:0 2rem 2rem;font-size:1.1rem;line-height:1.5}.sudoku-confirm-actions{border-top:1px solid var(--ink);grid-template-columns:repeat(2,1fr);display:grid}.sudoku-confirm-actions button{border:0;border-left:1px solid var(--line);text-align:left;cursor:pointer;background:0 0;min-height:5rem;padding:0 2rem}.sudoku-confirm-actions button:first-child{border-left:0}.sudoku-confirm-actions .danger-action{background:var(--vermilion);color:var(--surface)}.editorial-game-entry{min-height:100vh}.editorial-entry-hero{border-bottom:1px solid var(--ink);grid-template-columns:minmax(15rem,.48fr) minmax(0,1.52fr);min-height:31rem;display:grid}.editorial-entry-index{border-right:1px solid var(--line);flex-direction:column;justify-content:space-between;padding:2.5rem 2rem 2.5rem 0;display:flex}.editorial-entry-index span,.editorial-entry-section header span,.editorial-entry-guide article>span{font:700 var(--type-label)/1 var(--mono);letter-spacing:.07em;text-transform:uppercase}.editorial-entry-index strong{color:var(--accent);font:700 6rem/.8 var(--display)}.editorial-entry-copy{min-width:0;padding:clamp(4rem,8vh,7rem) 0 3rem clamp(2.5rem,6vw,7rem)}.editorial-entry-copy h1{font:700 clamp(4.5rem, 9vw, 9.5rem)/.72 var(--display);letter-spacing:-.055em;text-transform:uppercase;white-space:nowrap;margin:0 0 2rem -.04em}.editorial-entry-copy p{max-width:38rem;color:var(--muted);margin:0;font-size:1.15rem;line-height:1.5}.editorial-entry-section{--entry-content-inset:1.5rem;border-bottom:1px solid var(--ink);grid-template-rows:auto auto;grid-template-columns:minmax(15rem,.48fr) minmax(0,1.52fr);padding:4rem 0 0;display:grid}.editorial-entry-section>header{display:contents}.editorial-entry-section>header>span{color:var(--ink);font:700 var(--type-label)/1 var(--body);letter-spacing:.12em;text-transform:uppercase;grid-column:1/-1;align-items:center;gap:1rem;margin-bottom:1.5rem;display:flex}.editorial-entry-section>header>span:after{content:"";border-top:1px solid var(--line);flex:1}.editorial-entry-section h2{border-top:1px solid var(--line);width:100%;font:700 clamp(3.25rem, 4.6vw, 5.25rem)/.8 var(--display);letter-spacing:-.035em;text-transform:uppercase;grid-area:2/1;margin:0;padding:1.75rem 2rem 1.75rem 0}.editorial-entry-section>:not(header){border-top:1px solid var(--line);border-left:1px solid var(--line);grid-area:2/2;min-width:0}.editorial-entry-action-section.single-action h2{min-height:15rem}.editorial-entry-action-section.single-action .editorial-entry-actions{flex-direction:column;justify-content:flex-start;display:flex}.editorial-entry-actions{border-top:0;display:block}.editorial-entry-actions button{width:100%;min-height:5rem;padding:0 var(--entry-content-inset);border:0;border-bottom:1px solid var(--line);text-align:left;cursor:pointer;background:0 0;grid-template-columns:3.5rem minmax(8rem,.7fr) minmax(12rem,1.3fr) 2rem;align-items:center;gap:1rem;display:grid}.editorial-entry-actions button:last-child{border-bottom:1px solid var(--line)}.editorial-entry-actions button>span,.editorial-entry-actions small{font:var(--type-meta)/1.3 var(--mono)}.editorial-entry-actions strong{font:700 var(--type-action)/1 var(--display);text-transform:uppercase}.editorial-entry-actions small{color:var(--muted)}.editorial-entry-actions i{font:normal 1.4rem var(--body);justify-self:end}.editorial-entry-actions button:hover{background:var(--accent);color:var(--surface)}.editorial-entry-actions button:hover small{color:inherit}.editorial-entry-actions button.inverted{background:var(--ink);color:var(--surface)}.editorial-entry-actions button.inverted small{color:inherit}.editorial-entry-actions button.inverted:hover{background:var(--accent)}.editorial-entry-records,.editorial-entry-guide{border-top:0;grid-template-columns:repeat(auto-fit,minmax(12rem,1fr));display:grid}.editorial-entry-records>div,.editorial-entry-guide article{min-width:0;min-height:9rem;padding:1.75rem var(--entry-content-inset);border-left:1px solid var(--line)}.editorial-entry-records>div:first-child,.editorial-entry-guide article:first-child{border-left:0}.editorial-entry-records span{font:700 var(--type-label) var(--mono);text-transform:uppercase}.editorial-entry-records strong{font:700 2.5rem var(--display);margin-top:2rem;display:block}.editorial-entry-records.single>div{min-height:100%;padding:1.75rem var(--entry-content-inset);justify-content:flex-end;align-items:flex-start;display:flex}.editorial-entry-records.single strong{text-align:right;margin:0;font-size:clamp(3.25rem,4.6vw,5.25rem);line-height:.8}.editorial-entry-guide h3{font:700 1.5rem/1 var(--display);text-transform:uppercase;margin:1.5rem 0 .75rem}.editorial-entry-guide p{color:var(--muted);margin:0;line-height:1.45}.editorial-entry-guide{display:block}.editorial-entry-guide article{min-height:9.5rem;padding:1.75rem var(--entry-content-inset);border-left:0;border-bottom:1px solid var(--line);grid-template-columns:clamp(5rem,7vw,7.5rem) minmax(0,1fr);grid-template-areas:"index title""index body";align-content:center;align-items:start;column-gap:clamp(1.5rem,3vw,3rem);display:grid}.editorial-entry-guide article:last-child{border-bottom:0}.editorial-entry-guide article>span{color:var(--accent);font:700 clamp(1.9rem, 2.8vw, 2.8rem)/.85 var(--display);letter-spacing:-.035em;grid-area:index}.editorial-entry-guide h3{grid-area:title;margin:0;font-size:clamp(1.75rem,2.25vw,2.35rem)}.editorial-entry-guide p{grid-area:body;max-width:48rem;margin-top:.8rem;font-size:clamp(1rem,1.15vw,1.2rem);line-height:1.5}.snake-board-frame{flex:1;place-items:center;min-height:0;display:grid;position:relative;container-type:size}.snake-board{border:2px solid var(--ink);grid-template-rows:repeat(16,minmax(0,1fr));grid-template-columns:repeat(24,minmax(0,1fr));width:min(100cqw,150cqh);height:min(100cqh,66.6667cqw);display:grid}.snake-board>span{border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-width:0;min-height:0;position:relative}.snake-board>span:nth-child(24n){border-right:0}.snake-board>span:nth-last-child(-n+24){border-bottom:0}.snake-body-cell:before,.snake-head-cell:before,.snake-food-cell:before{content:"";aspect-ratio:1;width:72%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.snake-body-cell:before{background:var(--ink)}.snake-head-cell:before{background:var(--emerald);box-shadow:inset 0 0 0 2px var(--ink)}.snake-food-cell:before{background:var(--vermilion);width:56%;transform:translate(-50%,-50%)rotate(45deg)}.snake-board-frame>.game-overlay{inset:0}.mine-board{--mine-max:calc(var(--mine-cols) * 2.35rem);width:min(100%, var(--mine-max), calc((100dvh - var(--header-height) - 5.5rem) * var(--mine-cols) / var(--mine-rows)));border:2px solid var(--ink);background:var(--ink);grid-template-columns:repeat(var(--mine-cols), minmax(0, 1fr));gap:1px;margin:1rem auto 0;display:grid}.mine-board button{aspect-ratio:1;background:var(--surface-deep);width:auto;min-width:0;color:var(--ink);font:700 1rem var(--mono);cursor:pointer;border:0;padding:0}.mine-board button:hover:not(:disabled):not(.revealed){background:var(--ink);color:var(--surface)}.mine-board button.revealed{background:var(--surface);cursor:default}.mine-board button.flagged{background:var(--surface-deep);color:var(--ink)}.mine-board button.mine{background:var(--vermilion);color:var(--surface)}.mine-board button.incorrect-flag{background:var(--surface);color:var(--vermilion);text-decoration:line-through}.mine-board .adjacent-1,.mine-board .adjacent-4{color:var(--violet)}.mine-board .adjacent-2,.mine-board .adjacent-5{color:var(--emerald)}.mine-board .adjacent-3,.mine-board .adjacent-6,.mine-board .adjacent-7,.mine-board .adjacent-8{color:var(--vermilion)}.mine-session{min-width:980px;height:100dvh;overflow:hidden}.mine-workspace{--mine-gap:clamp(2rem, 3vw, 4rem);--mine-rail-width:clamp(22rem, 27vw, 32rem);--mine-board-width:min(calc((100dvh - var(--header-height) - 2rem) * var(--mine-cols) / var(--mine-rows)), calc(100% - var(--mine-rail-width) - var(--mine-gap)), calc(var(--mine-cols) * 4.5rem));height:calc(100dvh - var(--header-height));grid-template-columns:var(--mine-board-width) minmax(22rem, 1fr);column-gap:var(--mine-gap);padding-block:1rem;display:grid}.mine-session-mast{flex-direction:column;grid-area:1/2;min-width:0;padding-left:0;display:flex}.mine-session-identity{border-top:1px solid var(--ink);min-width:0;padding:clamp(1rem,2vh,1.5rem) 0 clamp(1.75rem,4vh,3rem)}.mine-session-identity span,.mine-session-metrics span{font:700 .68rem/1 var(--mono);letter-spacing:.07em;text-transform:uppercase}.mine-session-identity span{color:var(--vermilion);display:block}.mine-session-identity>strong{font:700 clamp(3rem, 4.75vw, 5rem)/.8 var(--display);letter-spacing:-.045em;text-transform:uppercase;margin-top:clamp(1.5rem,4vh,3rem);display:block}.mine-session-identity p{max-width:31rem;color:var(--muted);margin:clamp(1.5rem,4vh,3rem) 0 0;font-size:clamp(1rem,1.15vw,1.2rem);line-height:1.5}.mine-session-metrics{border-top:1px solid var(--ink);grid-template-columns:repeat(2,minmax(0,1fr));min-width:0;display:grid}.mine-session-metrics>div{border-bottom:1px solid var(--line);flex-direction:column;justify-content:space-between;gap:1rem;min-width:0;min-height:clamp(5rem,10vh,6.5rem);padding:clamp(1rem,2vh,1.4rem) clamp(.75rem,1.25vw,1.25rem);display:flex}.mine-session-metrics>div:nth-child(2){padding-left:0}.mine-session-metrics>div:nth-child(3){border-left:1px solid var(--line);padding-left:clamp(1.25rem,2vw,2rem)}.mine-session-metrics .mine-time{flex-direction:row;grid-column:1/-1;align-items:end;min-height:clamp(7rem,14vh,9rem)}.mine-session-metrics strong{font:700 clamp(2rem, 3vw, 3.25rem)/.8 var(--display);font-variant-numeric:tabular-nums;white-space:nowrap}.mine-session-metrics .mine-time strong{letter-spacing:-.04em;font-size:clamp(3.75rem,6vw,6.25rem)}.mine-session-actions{border-top:1px solid var(--ink);grid-template-columns:repeat(2,minmax(0,1fr));align-self:start;width:100%;margin-top:clamp(2rem,5vh,4rem);display:grid}.mine-session-actions.result{grid-template-columns:repeat(2,minmax(0,1fr))}.mine-session-actions button{border:0;border-left:1px solid var(--line);text-align:left;width:100%;min-height:clamp(4rem,8vh,5rem);font:700 clamp(.72rem, .8vw, .85rem) var(--mono);letter-spacing:.03em;text-transform:uppercase;cursor:pointer;background:0 0;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:1rem;padding:0 clamp(1rem,1.5vw,1.5rem);display:grid}.mine-session-actions button:first-child{border-left:0}.mine-session-actions button:nth-child(3){border-top:1px solid var(--line);border-left:0;grid-column:1/-1}.mine-session-actions button:hover{background:var(--ink);color:var(--surface)}.mine-session-actions button:nth-child(3):hover{color:var(--ink);box-shadow:inset 3px 0 0 var(--ink);background:0 0;padding-left:1rem}.mine-session-actions button.active{color:var(--vermilion);box-shadow:inset 3px 0 0 var(--vermilion);padding-left:1rem}.mine-session-actions button.active:hover{color:var(--vermilion);box-shadow:inset 3px 0 0 var(--vermilion)}.mine-session-actions i{font:normal 1.75rem var(--body)}.mine-session-actions kbd{float:none}.mine-field-stage{grid-area:1/1;place-items:start;min-height:0;display:grid;position:relative}.mine-session .mine-board{width:100%;margin:0}.mine-board-easy button{font-size:clamp(1.5rem,2.15vw,2.4rem)}.mine-board-medium button{font-size:clamp(1rem,1.3vw,1.45rem)}.mine-board-hard button{font-size:clamp(.65rem,.8vw,.9rem)}.mine-field-stage>.game-overlay{width:100%;aspect-ratio:var(--mine-cols) / var(--mine-rows);inset:0}.dialog-backdrop{z-index:20;background:#1918159e;place-items:center;padding:2rem;display:grid;position:fixed;inset:0}.confirm-dialog{border-block:2px solid var(--ink);background:var(--surface);width:min(42rem,100%);padding:2.5rem 0 0}.confirm-dialog>span,.confirm-dialog>h2,.confirm-dialog>p{margin-inline:2.5rem}.confirm-dialog h2{font:700 clamp(2.25rem, 5vw, 3rem)/.85 var(--display);text-transform:uppercase;margin-block:1rem}.confirm-dialog p{color:var(--muted);line-height:1.5}.dialog-actions,.confirm-dialog>div{border-top:1px solid var(--ink);grid-template-columns:1fr 1fr;margin-top:1.5rem;display:grid}.dialog-actions button,.confirm-dialog>div button{border:0;border-right:1px solid var(--line);border-bottom:1px solid var(--line);text-align:left;cursor:pointer;background:0 0;min-height:4rem;padding-inline:1rem}.dialog-actions .danger-action,.confirm-dialog>div .danger-action{background:var(--vermilion);color:var(--surface)}.sudoku-confirm-actions button:focus-visible,.dialog-actions button:focus-visible,.confirm-dialog>div button:focus-visible{outline-offset:0;outline:0;box-shadow:inset 4px 0}.sudoku-confirm-actions button:not(.danger-action):focus-visible,.dialog-actions button:not(.danger-action):focus-visible,.confirm-dialog>div button:not(.danger-action):focus-visible{background:var(--surface-deep)}.notice{z-index:15;border:1px solid var(--ink);background:var(--surface);align-items:center;gap:1rem;max-width:30rem;padding:1rem;font-size:.85rem;display:flex;position:fixed;bottom:1.5rem;right:1.5rem}.notice button{cursor:pointer;background:0 0;border:0;border-bottom:1px solid}.complete-screen,.not-found,.error-fallback{min-height:100vh;padding:var(--gutter);flex-direction:column;justify-content:center;display:flex}.complete-screen h1,.not-found h1,.error-fallback h1{font:700 clamp(5rem, 12vw, 12rem)/.72 var(--display);text-transform:uppercase;margin:1.5rem 0}.complete-screen h1 span{display:block}.complete-time strong{color:var(--cobalt);font:700 clamp(4rem, 8vw, 8rem)/1 var(--display)}.complete-screen dl,.complete-actions{gap:2rem;margin-top:2rem;display:flex}.complete-screen dt{font:.65rem var(--mono);text-transform:uppercase}.complete-screen dd{font:700 1.5rem var(--display);margin:.35rem 0 0}.complete-actions button,.complete-actions a,.not-found a,.error-fallback button,.error-fallback a{border:1px solid var(--ink);cursor:pointer;background:0 0;padding:.8rem 1rem}@keyframes spin{to{transform:rotate(360deg)}}@media (width<=1100px){.overview-top{grid-template-columns:minmax(22rem,.85fr) minmax(31rem,1.15fr);gap:3rem}.catalog-entry{grid-template-columns:5rem minmax(12rem,.7fr) minmax(20rem,1.3fr) 2rem}.game-play{grid-template-columns:minmax(0,1fr) 17rem;gap:2rem}.validation-message{min-height:1.75rem;margin-top:.35rem}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}
