:root{color:#27251f;font-synthesis:none;text-rendering:optimizelegibility;--grid-line:#ebe5da;--box-line:#ebe5da;--cage-line:#4b453b;background:#f4eee2;font-family:Inter,ui-rounded,SF Pro Rounded,system-ui,-apple-system,BlinkMacSystemFont,sans-serif}*{box-sizing:border-box}html{background:#f4eee2}body{min-width:320px;min-height:100dvh;margin:0}button,input,select{font:inherit}button{touch-action:manipulation}.app-shell{width:min(100%,34rem);min-height:100dvh;padding:max(1.25rem, env(safe-area-inset-top)) 1rem max(1.5rem, env(safe-area-inset-bottom));margin:0 auto}.brand{align-items:center;gap:.8rem;margin:.25rem .25rem 2.5rem;display:flex}.brand-mark{color:#315e54;border:2px solid #315e54;border-radius:.8rem;place-items:center;width:3rem;height:3rem;font-size:1.45rem;font-weight:750;display:grid}.eyebrow,.kicker{color:#6d6557;letter-spacing:.08em;text-transform:uppercase;margin:0;font-size:.75rem;font-weight:700}h1{margin:.12rem 0 0;font-size:1.25rem}.welcome-card{background:#fffdf7db;border:1px solid #315e542e;border-radius:1.5rem;padding:clamp(1.5rem,7vw,2.5rem);box-shadow:0 1rem 3rem #463a2614}.welcome-card h2{margin:.65rem 0 .5rem;font-family:Georgia,serif;font-size:clamp(2rem,9vw,3rem);font-weight:500;line-height:1.05}.welcome-card>p:not(.kicker){color:#5f594e;line-height:1.55}.welcome-card button{color:#fffdf7;cursor:pointer;background:#315e54;border:0;border-radius:1rem;width:100%;min-height:3.25rem;margin-top:1.25rem;font-weight:750}.welcome-card button:focus-visible{outline-offset:3px;outline:3px solid #cf7b50}.difficulty-list{gap:.65rem;margin-top:1.4rem;display:grid}.difficulty-choice{grid-template-columns:1fr auto;gap:.4rem;display:grid}.difficulty-choice>button:first-child{width:100%}.difficulty-choice .replace-game{color:#9a302a;text-align:center;background:#f7d9d3;border:0;border-radius:.75rem;justify-content:center;align-items:center;width:3.6rem;min-height:4.4rem;margin:0;padding:0;font-size:.72rem;font-weight:700;display:flex}.difficulty-list button{text-align:left;color:#27251f;background:#fffdf7;border:1px solid #d9d0c0;grid-template-rows:auto auto;grid-template-columns:1fr auto;gap:.15rem 1rem;min-height:4.4rem;margin:0;padding:.8rem 1rem;display:grid}.difficulty-list button span{align-self:end;font-size:1.05rem}.difficulty-list button small{color:#756d5f;font-weight:500}.difficulty-list button b{color:#315e54;grid-area:1/2/3;align-self:center;font-size:1.6rem}.home-footer{color:#756d5f;justify-content:space-between;padding:1.25rem .35rem;font-size:.75rem;display:flex}.home-nav{grid-template-columns:1fr 1fr;gap:.65rem;margin-top:1rem;display:grid}.home-nav button,.back-link{color:#315e54;background:0 0;border:1px solid #cfc5b3;border-radius:.75rem;min-height:2.8rem;font-weight:700}.storage-warning{color:#641f1f;background:#ffe1dc;border-radius:.7rem;margin-bottom:1rem;padding:.75rem;font-size:.85rem}.modal-backdrop,.board-cover{z-index:10;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#1419169e;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.generating{text-align:center;color:#27251f;background:#fffdf7;border-radius:1.25rem;width:min(100%,20rem);padding:2rem}.introduction{color:#27251f;background:#fffdf7;border-radius:1.25rem;width:min(100%,25rem);max-height:calc(100dvh - 2rem);padding:1.6rem;overflow:auto}.introduction h2,.panel-screen h2{margin:.5rem 0 1rem;font-family:Georgia,serif;font-size:2rem;font-weight:500}.introduction ul{padding-left:1.25rem;line-height:1.5}.introduction li+li{margin-top:.45rem}.introduction>p:not(.kicker){color:#6d6557;line-height:1.5}.introduction button{color:#fff;background:#315e54;border:0;border-radius:.8rem;width:100%;min-height:3rem;font-weight:750}.generating strong,.board-cover strong{font-family:Georgia,serif;font-size:1.55rem;display:block}.generating p{color:#6d6557}.generating button,.board-cover button{color:#fff;background:#315e54;border:0;border-radius:.75rem;min-height:2.75rem;padding:0 1.5rem;font-weight:700}.spinner{border:3px solid #d9d0c0;border-top-color:#315e54;border-radius:50%;width:2.25rem;height:2.25rem;margin:0 auto 1.25rem;animation:.8s linear infinite spin;display:block}@keyframes spin{to{transform:rotate(360deg)}}.game-screen{width:min(100%,38rem);min-height:100dvh;padding:max(.6rem, env(safe-area-inset-top)) .55rem max(.6rem, env(safe-area-inset-bottom));margin:auto;overflow:hidden}.game-header{text-align:center;grid-template-columns:3rem 1fr 3rem;align-items:center;display:grid}.game-header p{color:#6d6557;letter-spacing:.08em;text-transform:uppercase;margin:0;font-size:.75rem;font-weight:700}.game-header strong{font-variant-numeric:tabular-nums;font-size:1.05rem}.icon-button{color:#315e54;background:0 0;border:0;border-radius:.7rem;min-width:2.75rem;min-height:2.75rem;font-size:1.6rem}.mistakes{text-align:center;color:#756d5f;margin:.25rem 0 .55rem;font-size:.8rem}.mistakes strong{color:#914d42}.board-wrap{aspect-ratio:1;width:100%;position:relative}.board{background:#716a5f;grid-template-rows:repeat(9,minmax(0,1fr));grid-template-columns:repeat(9,minmax(0,1fr));width:100%;height:100%;display:grid;overflow:hidden}.cell{color:#27251f;cursor:pointer;background:#fffdf7;border:0;place-items:center;width:100%;min-width:0;height:100%;min-height:0;padding:0;display:grid;position:relative;overflow:hidden}.cell:before,.cell:after,.cell .grid-line{content:"";pointer-events:none;border-style:solid;border-color:#0000;position:absolute;inset:0}.cell:before{z-index:1;background-position:0 -1.5px,right -1.5px top 0,left 0 bottom -1.5px,-1.5px 0;background-repeat:repeat-x,repeat-y,repeat-x,repeat-y;background-size:6px 6px,6px 6px,6px 6px,6px 6px;background-image:radial-gradient(circle 1.5px at 50% 50%, var(--cage-top) 99%, transparent 100%), radial-gradient(circle 1.5px at 50% 50%, var(--cage-right) 99%, transparent 100%), radial-gradient(circle 1.5px at 50% 50%, var(--cage-bottom) 99%, transparent 100%), radial-gradient(circle 1.5px at 50% 50%, var(--cage-left) 99%, transparent 100%);border:0}.cell:after{z-index:2;border-color:var(--box-line);border-width:0 var(--group-right) var(--group-bottom) 0}.cell .grid-line{z-index:3;border-color:var(--grid-line);border-width:var(--grid-top) var(--grid-right) var(--grid-bottom) var(--grid-left)}.cell.related{background:#edf1e9}.cell.matching{background:#d4e5de}.cell.selected{z-index:2;outline-offset:-3px;background:#c5ddd5;outline:3px solid #315e54}.cell.wrong{color:#9a302a;background:#f7d9d3;-webkit-text-decoration:underline wavy;text-decoration:underline wavy}.cage-sum{z-index:4;color:var(--cage-line);font-size:clamp(.52rem,2vw,.68rem);font-weight:750;line-height:1;position:absolute;top:2.5px;left:3px}.cell-value{z-index:4;max-width:100%;max-height:100%;font-size:clamp(1.05rem,6vw,2rem);font-weight:650;line-height:1;display:block;position:relative}.cell-value.given{color:#6d6557;font-weight:500}.notes{z-index:4;grid-template-rows:repeat(3,minmax(0,1fr));grid-template-columns:repeat(3,minmax(0,1fr));align-items:center;width:60%;height:55%;font-size:clamp(.46rem,2.1vw,.68rem);display:grid;position:relative}.notes i{text-align:center;color:#574f43;min-width:0;font-style:normal}.notes i.note-match{color:#914d42;font-size:1.3em;font-weight:800}.board-cover{color:#fff;text-align:center;border-radius:.2rem;position:absolute}.board-cover p{margin:.55rem}.board-cover .new-best{color:#f8d8a2;font-weight:750}.edit-tools{grid-template-columns:repeat(4,1fr);gap:.45rem;margin:.7rem 0;display:grid}.edit-tools button{color:#315e54;background:#e5e5d9;border:0;border-radius:.75rem;min-height:3rem;font-size:1.2rem}.edit-tools button.active{color:#fff;background:#315e54}.edit-tools button:disabled{opacity:.35}.edit-tools span{font-size:.62rem;font-weight:700;display:block}.number-pad{grid-template-columns:repeat(9,1fr);gap:.25rem;display:grid}.number-pad-row{display:contents}.number-pad button{color:#315e54;background:#fffdf7;border:0;border-radius:.55rem;min-width:0;min-height:clamp(3rem,13vw,4.2rem);padding:0;font-size:clamp(1.35rem,6vw,2rem);font-weight:700}.number-pad button.complete{opacity:.3;text-decoration:line-through}.result-actions{gap:.5rem;width:min(100%,16rem);display:grid}.result-actions button{width:100%}.result-actions button.secondary{background:0 0;border:1px solid #ffffffa6}.board,.number-pad,.edit-tools{-webkit-user-select:none;user-select:none}.game-screen{overscroll-behavior:none;touch-action:manipulation}@media (orientation:landscape) and (height<=550px){.game-screen{grid-template-rows:auto auto 1fr;grid-template-columns:min(75vh,55vw) 1fr;gap:.3rem 1rem;width:min(100%,58rem);display:grid}.game-header,.mistakes{grid-column:2}.board-wrap{grid-area:1/1/4;align-self:center}.edit-tools{grid-column:2;align-self:end}.number-pad{grid-column:2;grid-template-columns:repeat(3,1fr);align-self:start}.number-pad button{min-height:2.5rem}}@media (width<=480px) and (orientation:portrait){.number-pad{flex-direction:column;gap:.55rem;display:flex}.number-pad-row{justify-content:center;gap:.55rem;display:flex}.number-pad button{flex:none;width:clamp(3.6rem,16vw,4.8rem);min-height:clamp(3.6rem,16vw,4.8rem);font-size:clamp(1.5rem,7.5vw,2.15rem)}}.panel-screen{padding-inline:1rem}.panel-screen .back-link{min-width:5rem;margin-bottom:2rem;padding:0 .8rem}.stat-grid{grid-template-columns:repeat(2,1fr);gap:.7rem;margin:1.5rem 0;display:grid}.stats-filter{scrollbar-width:none;gap:.4rem;padding-bottom:.4rem;display:flex;overflow-x:auto}.stats-filter button{color:#315e54;background:0 0;border:1px solid #cfc5b3;border-radius:999px;flex:none;min-height:2.6rem;padding:0 .8rem;font-size:.78rem;font-weight:700}.stats-filter button.active{color:#fffdf7;background:#315e54;border-color:#315e54}.stats-heading{margin:1.25rem 0 -.8rem;font-family:Georgia,serif;font-size:1.15rem;font-weight:500}.stat-grid div{background:#fffdf7b3;border:1px solid #d9d0c0;border-radius:1rem;padding:1rem}.stat-grid strong{color:#315e54;font-variant-numeric:tabular-nums;font-size:1.5rem;display:block}.stat-grid span,.difficulty-stat span{color:#756d5f;font-size:.78rem}.best-overall{grid-template-rows:1fr 1fr;grid-template-columns:1fr 1fr;height:100%;display:grid}.best-corner{align-items:baseline;gap:.25rem;display:flex}.best-corner b{color:#315e54;font-variant-numeric:tabular-nums;font-size:.85rem}.best-corner i{color:#756d5f;font-size:.68rem;font-style:normal}.best-overall .best-corner:nth-child(2n){flex-direction:row-reverse;justify-self:end}.best-overall .best-corner:nth-child(n+3){align-self:end}.difficulty-stat{border-bottom:1px solid #d9d0c0;justify-content:space-between;gap:1rem;padding:.9rem .2rem;display:flex}.setting-row,.data-button{width:100%;min-height:3.4rem;color:inherit;text-align:left;background:0 0;border:0;border-bottom:1px solid #d9d0c0;justify-content:space-between;align-items:center;padding:.6rem .85rem;display:flex}.setting-row select{background:#fffdf7;border:1px solid #cfc5b3;border-radius:.55rem;min-height:2.5rem;padding:0 .5rem}.setting-row input[type=checkbox]{accent-color:#315e54;width:1.5rem;height:1.5rem}.data-button{cursor:pointer;font-weight:650}.data-button.danger{color:#9a302a}.file-button input{opacity:0;width:1px;height:1px;position:absolute}.privacy-note{color:#756d5f;margin-top:1.5rem;font-size:.8rem;line-height:1.5}[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}[data-theme=dark],[data-theme=dark] body{color:#f4eee2;--grid-line:#f4eee21a;--box-line:#f4eee21a;--cage-line:#b2985e;background:#171b19}[data-theme=dark] .welcome-card,[data-theme=dark] .stat-grid div{background:#202724;border-color:#37554d}[data-theme=dark] .difficulty-list button,[data-theme=dark] .number-pad button,[data-theme=dark] .cell{color:#f4eee2;background:#202724}[data-theme=dark] .notes i{color:#d7cdb9}[data-theme=light],[data-theme=light] body{color:#27251f;background:#f4eee2}@media (prefers-color-scheme:dark){:root,html{color:#f4eee2;--grid-line:#f4eee21a;--box-line:#f4eee21a;--cage-line:#b2985e;background:#171b19}.welcome-card{background:#202724;border-color:#37554d}.welcome-card>p:not(.kicker),.eyebrow,.kicker{color:#c8bfae}.brand-mark{color:#91c7b8;border-color:#91c7b8}.welcome-card button{color:#10201c;background:#91c7b8}.difficulty-list button,.number-pad button,.cell{color:#f4eee2;background:#202724}.notes i{color:#d7cdb9}.difficulty-list button small,.game-header p,.mistakes,.home-footer{color:#c8bfae}.cell.related{background:#262f2b}.cell.matching{background:#2c433a}.cell.selected{background:#33544a}.cell.wrong{color:#ffb5aa;background:#4b2927}.cell-value.given{color:#c8bfae}.difficulty-choice .replace-game{color:#ffb5aa;background:#4b2927}.edit-tools button{color:#b5d8cf;background:#29332f}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}
