:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--paper:#f5f3ed;--ink:#30372f;--muted:#85877e;--olive:#59634b;--line:#e6e6dc;--accent:#b75b40;--tile:#fcfcf8;--radius:20px;font-synthesis:none;font-family:Inter,Segoe UI,Arial,sans-serif}*{box-sizing:border-box}body{background:var(--paper);color:var(--ink);margin:0}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer}button:disabled{cursor:default;opacity:.4}button:focus-visible,a:focus-visible{outline-offset:4px;outline:3px solid #a47442}a{color:inherit;text-decoration:none}.site-header{border-bottom:1px solid #e2e3d9;justify-content:space-between;align-items:center;max-width:1160px;margin:auto;padding:29px 32px;display:flex}.brand{letter-spacing:-1px;align-items:center;font-size:24px;font-weight:750;display:flex}.brand-dot{color:var(--accent)}.brand-mark{color:var(--olive);letter-spacing:0;border:1px solid #c8ccbd;border-radius:7px;align-items:center;gap:5px;height:29px;margin-right:12px;padding:0 5px;font-size:17px;display:flex;overflow:hidden}.brand-mark span{border-left:1px solid #c8ccbd;padding-left:5px}.header-right{align-items:center;gap:24px;display:flex}.local-label{color:#777e6f;font-size:12px}.local-label i{background:#80916e;border-radius:50%;width:5px;height:5px;margin:0 7px 2px 0;display:inline-block}.icon-button{color:#69705f;background:0 0;border:1px solid #d9dbd0;border-radius:50%;width:32px;height:32px;font-family:Georgia,serif;font-size:19px}main{max-width:1060px;margin:auto;padding:0 32px}.intro{text-align:center;padding:45px 0 32px}.eyebrow{letter-spacing:1.9px;color:#818772;margin:0 0 14px;font-size:10px;font-weight:700}h1{letter-spacing:-1.8px;margin:0 0 12px;font-family:Georgia,Times New Roman,serif;font-size:42px;font-weight:400;line-height:1.15}.intro>p:last-child{color:#818277;margin:0;font-size:14px}.layout{grid-template-columns:minmax(0,630px) minmax(225px,286px);justify-content:center;align-items:start;gap:36px;display:grid}.game{border-radius:var(--radius);background:#fffefa;border:1px solid #e5e6dd;padding:24px 28px 8px;box-shadow:0 8px 32px #33402004}.game-top{justify-content:space-between;align-items:center;gap:12px;display:flex}.mode-switch{background:#f0f1e9;border-radius:8px;padding:4px;display:flex}.mode-switch button{color:#7d8274;background:0 0;border:0;border-radius:5px;padding:8px 13px;font-size:11px}.mode-switch button.active{color:#46523d;background:#fffefa;font-weight:650;box-shadow:0 1px 4px #3331}.text-button{color:#7f8474;background:0 0;border:0;padding:0;font-size:11px}.text-button span{vertical-align:middle;margin-right:3px;font-size:17px}.scoreboard{grid-template-columns:1fr 1fr 1fr;gap:10px;padding:28px 0 24px;display:grid}.stat-label{letter-spacing:1.2px;color:#93968a;margin-bottom:6px;font-size:9px;display:block}.scoreboard strong{letter-spacing:-.7px;font-variant-numeric:tabular-nums;font-size:28px;font-weight:500}.best-stat{text-align:right}.best-stat strong{color:#7f866f;font-size:23px}.board-frame{background:#f9faf4;border:1px solid #e0e3d5;border-radius:11px;overflow:hidden}.board-topline{color:#919580;justify-content:space-between;gap:8px;padding:12px 14px;font-size:10px;display:flex}.board{scrollbar-width:thin;scrollbar-color:#bcc5ac #e3e6d9;background:#e3e6d9;grid-template-columns:repeat(9,minmax(0,1fr));gap:1px;padding:1px;display:grid;overflow-y:auto}.cell{aspect-ratio:1;color:#46513b;touch-action:manipulation;font-variant-numeric:tabular-nums;background:#fffefa;border:0;min-width:0;min-height:44px;padding:0;font-size:clamp(20px,2.6vw,29px);font-weight:400;transition:background .15s,color .15s,box-shadow .15s;position:relative}.cell.selected{color:#fff;box-shadow:inset 0 0 0 2px #4b5a39;background:#657151!important}.cell.closed{opacity:1;background:#f7f8f1}.cell.closed:after{content:"";background:#d9decd;border-radius:50%;width:3px;height:3px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.cell.hinted{color:#74602d;background:#f4e6bb;box-shadow:inset 0 0 0 2px #ba9e50}.cell.bad{color:#a34e3c;background:#f4ddd4;animation:.28s shake}.cell.path{background:#f5efdb}.board-bottomline{color:#929882;justify-content:center;align-items:center;gap:7px;min-height:37px;padding:6px;font-size:10px;display:flex}.little-pair{letter-spacing:1px;color:#9ba68b}.actions{gap:10px;margin-top:18px;display:flex}.action{text-align:left;background:#fafbf5;border:1px solid #dfe3d4;border-radius:9px;flex:1;justify-content:center;align-items:center;gap:9px;padding:12px 14px;font-size:12px;font-weight:600;display:flex}.action small{color:#969d86;margin-top:3px;font-size:9px;font-weight:400;display:block}.action-icon{color:#6c795a;width:25px;height:25px;font-size:29px;font-weight:300;line-height:1}.add-action{color:#fff;background:#59654a;border-color:#59654a}.add-action .action-icon{color:#fff}.add-action small{color:#c7d0ba}.action:hover:not(:disabled){filter:brightness(.97)}.undo-action{color:#849174;background:0 0;border:1px solid #e4e7dc;border-radius:9px;width:43px;font-size:25px}.game-status{text-align:center;color:#949987;min-height:15px;margin:15px 0 10px;font-size:10px}.game-status.success{color:#687c4c}.rules-card{border-radius:var(--radius);background:#eeefe5;border:1px solid #e3e5d8;padding:26px 24px}h2{letter-spacing:-.6px;margin:0 0 15px;font-family:Georgia,Times New Roman,serif;font-size:29px;font-weight:400;line-height:1.16}.rules-card>p:not(.eyebrow){color:#858975;margin:0;font-size:12px;line-height:1.7}.pair-examples{justify-content:space-between;align-items:center;margin:22px 0 25px;display:flex}.pair-examples>div{grid-template-columns:31px 31px;gap:5px;display:grid}.pair-examples span{text-align:center;color:#697956;background:#fafbf4;border:1px solid #d8ddca;border-radius:5px;padding:8px 0;font-size:20px}.pair-examples small{text-align:center;color:#999e8b;grid-column:span 2;padding-top:4px;font-size:9px}.pair-examples>b{color:#9ca28e;margin-bottom:20px;font-size:9px;font-weight:400}.rule-item{gap:11px;margin-top:18px;display:flex}.rule-symbol{color:#899776;letter-spacing:-1px;min-width:22px;font-size:23px;line-height:1.1}.rule-item p{color:#929782;margin:0;font-size:10px;line-height:1.65}.rule-item strong{color:#68765b;margin-bottom:3px;font-size:11px;font-weight:600;display:block}.rules-link{text-align:left;color:#7a8967;border-top:1px solid #dbe0cf;width:100%;margin-top:23px;padding-top:17px}.rules-link span{float:right;font-size:16px}.quiet-note{color:#a4aa95;gap:12px;margin:24px 9px 0;display:flex}.quiet-note>span{font-size:26px}.quiet-note strong{color:#838d75;font-size:11px;font-weight:500}.quiet-note p{color:#9ca38e;margin:5px 0 0;font-size:10px;line-height:1.7}footer{color:#a5a998;justify-content:space-between;gap:16px;padding:30px 0;font-size:10px;display:flex}dialog{color:#3f4c36;background:#fffefa;border:1px solid #d9dfcb;border-radius:20px;width:min(450px,100vw - 32px);padding:34px;box-shadow:0 20px 100px #2d3b2922}dialog::backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#30382c55}.dialog-close{font-family:inherit;position:absolute;top:12px;right:12px}.dialog-eyebrow{letter-spacing:2px;color:#919c7d;font-size:10px}.dialog-title{letter-spacing:-1px;margin:18px 0 12px;font-family:Georgia,serif;font-size:33px;font-weight:400}.dialog-body{color:#7f8973;font-size:13px;line-height:1.8}.dialog-body li{margin:9px 0}.dialog-score{color:#59654a;font-variant-numeric:tabular-nums;margin:22px 0 5px;font-size:43px}.dialog-button{color:#fff;background:#59654a;border:0;border-radius:9px;width:100%;margin-top:20px;padding:13px 20px;font-size:13px}.dialog-secondary{color:#6d7c58;background:#eeefe5;margin-top:8px}.save-status{color:#68705e;margin:8px 0 0;font-size:12px;line-height:1.5}.save-warning{color:#a77e62}@keyframes shake{25%{transform:translate(-3px)}75%{transform:translate(3px)}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}.rule-symbol{white-space:nowrap}.difficulty-picker{justify-content:space-between;align-items:center;gap:12px;margin:16px 0;font-weight:600;display:flex}.difficulty-picker select{font:inherit;color:inherit;background:0 0;border:1px solid;border-radius:8px;min-height:44px;padding:6px 12px}html,body,#root{width:100%;height:100%;overflow:hidden}#root{height:100dvh;padding:env(safe-area-inset-top,0px) env(safe-area-inset-right,0px) env(safe-area-inset-bottom,0px) env(safe-area-inset-left,0px);flex-direction:column;display:flex}.site-header{flex:none;width:100%;padding:8px 16px}.brand{font-size:22px}.icon-button,.dialog-close{min-width:44px;min-height:44px}main{flex-direction:column;flex:1;width:100%;min-height:0;padding:12px 16px;display:flex}.intro{padding:12px 0 20px}.intro .eyebrow{margin-bottom:6px}h1{margin-bottom:6px;font-size:34px}.layout{flex:1;grid-template-columns:minmax(0,650px) minmax(225px,260px);align-items:stretch;gap:24px;min-height:0}.game{flex-direction:column;min-width:0;min-height:0;padding:12px;display:flex}.game-top{flex:none}.mode-switch button{min-height:44px;padding:8px 12px}.text-button{min-height:44px;padding:6px;font-size:12px}.difficulty-picker{flex:none;margin:6px 0;font-size:13px}.scoreboard{flex:none;padding:8px 0 12px}.stat-label{margin-bottom:3px}.scoreboard strong,.best-stat strong{font-size:24px}.board-frame{flex-direction:column;flex:1;min-height:0;display:flex}.board-topline{flex:none;padding:7px 10px}.board{overscroll-behavior:contain;flex:1;grid-auto-rows:max-content;align-content:start;min-height:0;scroll-padding:4px;overflow-x:hidden}.cell{font-size:clamp(22px,3vw,30px)}.cell:focus-visible{outline-offset:-3px;z-index:1}.board-bottomline{flex:none;min-height:28px;padding:5px}.actions{flex:none;gap:8px;margin-top:8px}.action{min-height:52px;padding:8px}.undo-action{flex:none;width:44px;min-height:44px}.game-status{flex:none;min-height:24px;margin:7px 0 0;font-size:12px}.game>.save-status{flex:none;margin:2px 0 0;font-size:11px;line-height:1.3}.save-warning{flex:none;margin:4px 0 0;font-size:12px}.game>.dialog-button{flex:none;min-height:44px;margin-top:6px;padding:8px}aside{min-height:0}.rules-card{padding:20px}.quiet-note{margin-top:16px}footer{flex:none;padding:12px 0 0}dialog{max-height:calc(100% - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px) - 16px);overscroll-behavior:contain;overflow-y:auto}@media (height<=940px){aside{display:none}.layout{grid-template-columns:minmax(0,650px)}}@media (width<=900px){.layout{grid-template-columns:minmax(0,650px)}aside{display:none}}@media (width<=600px),(height<=740px){.intro,footer{display:none}main{padding:6px}.site-header{padding:4px 12px}.game{border-radius:12px;padding:6px}.local-label{display:none}.scoreboard{padding:6px 0 8px}.board-bottomline{font-size:10px}}@media (height<=740px){aside{display:none}.layout{grid-template-columns:minmax(0,720px)}}@media (width>=540px) and (height<=540px){.layout{grid-template-columns:minmax(0,1000px)}.game{grid-template-rows:auto auto auto auto minmax(24px,1fr) auto auto;grid-template-columns:minmax(0,1fr) 220px;gap:2px 12px;display:grid}.game:has(>div.save-warning){grid-template-rows:auto auto auto auto minmax(0,1fr) auto auto}.game:has(>div.save-warning)>.game-status{display:none}.board-frame{grid-area:1/1/span 5}.game>:not(.board-frame):not(dialog){grid-column:2}.game>p.save-status,.game>div.save-warning,.game>p.save-warning{grid-column:1/-1}.mode-switch{padding:0}.difficulty-picker,.actions,.game-status,.save-warning{margin:0}.scoreboard{padding:2px 0}.stat-label{font-size:8px}.scoreboard strong{font-size:20px}.action{gap:4px;min-height:44px;font-size:11px}.action-icon{display:none}.game-status{font-size:11px}.game-top{gap:4px}.mode-switch button{padding:8px 6px}.text-button{font-size:11px}}.backup-card{border:1px solid var(--border,#ddd);border-radius:20px;margin-bottom:24px;padding:24px}.backup-card h2{font-size:1.3rem}.backup-card p{margin:12px 0;font-size:.875rem;line-height:1.5}.backup-card label{margin:16px 0;font-size:.9rem;display:block}.backup-card input:not([type=checkbox]){box-sizing:border-box;width:100%;min-width:0;font:inherit;background:var(--paper,#fff);color:var(--ink,#222);border:1px solid #888;border-radius:8px;margin-top:6px;padding:12px;display:block}.backup-card .restore-confirm{align-items:flex-start;gap:10px;line-height:1.5;display:flex}.backup-card input[type=checkbox]{min-width:24px;min-height:24px}.backup-card summary{cursor:pointer;padding:16px 0}.backup-card .text-button{min-height:44px;margin:10px 0}.backup-status{font-weight:700}.backup-card [role=alert]{color:#a02e1f}.header-right{gap:10px}.backup-menu>button{flex-direction:column;justify-content:center;align-items:center;max-width:130px;display:flex}.backup-menu .backup-status{font-size:10px;font-weight:400;line-height:1.2}dialog .backup-card{border:0;margin:0;padding:0}@media (width<=600px){.brand-mark{display:none}.header-right{gap:6px}.backup-menu>button{max-width:112px;padding:4px}}.backup-menu>button{height:44px}.backup-menu .backup-status{font-size:9px;line-height:1.1}.live-status{font-size:11px;line-height:1.3;display:block}@media (width<=539px){.difficulty-picker:has(.live-status){margin:4px 0}}.persistence-status{flex-wrap:wrap;justify-content:space-between;gap:2px 8px;display:flex}.conflict-notice{border:2px solid;border-radius:1rem;margin-bottom:.5rem;padding:.5rem 1rem}.conflict-notice p{margin:0}.conflict-options{border:0;gap:1rem;padding:0;display:grid}.conflict-options label{border:1px solid;border-radius:.5rem;align-items:start;gap:.75rem;padding:.75rem;display:flex}.conflict-options input{flex:none;width:1.5rem;height:1.5rem}.variant-board{font-variant-numeric:tabular-nums;text-align:center;grid-template-columns:repeat(9,1fr);gap:.2rem;max-height:12rem;padding:.5rem;display:grid;overflow:auto}body:has(.operator){height:auto;overflow:auto}#root:has(.operator){overflow-y:auto}.operator{max-width:1100px;height:auto;margin:auto;padding:28px 20px;overflow:visible}.operator h1{letter-spacing:normal;font-size:clamp(1.8rem,5vw,2.6rem)}.operator p,.operator li{line-height:1.6}.operator form{gap:12px;max-width:420px;display:grid}.operator input{width:100%;min-width:0;font:inherit;padding:12px}.operator button{border:1px solid var(--olive);background:var(--tile);border-radius:8px;min-height:44px;padding:10px 16px}.operator-actions{flex-wrap:wrap;gap:12px;margin:20px 0;display:flex}.operator-profiles{grid-template-columns:repeat(auto-fit,minmax(min(100%,380px),1fr));gap:16px;display:grid}.operator article{background:var(--tile);border:1px solid var(--line);border-radius:var(--radius);min-width:0;padding:20px}.operator h2,.operator-id{overflow-wrap:anywhere}.operator ul{padding-left:20px}.operator [role=alert]{color:#923b28}:root{--surface:#fffefa;--soft:#eeefe5;--board:#e3e6d9;--muted:#626c58}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--paper:#171c19;--ink:#edf1e6;--muted:#bbc7af;--olive:#c0d3aa;--line:#485343;--tile:#242e27;--surface:#202923;--soft:#29342c;--board:#424f40}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--paper:#171c19;--ink:#edf1e6;--muted:#bbc7af;--olive:#c0d3aa;--line:#485343;--tile:#242e27;--surface:#202923;--soft:#29342c;--board:#424f40}}.game,dialog,.cell,.mode-switch button.active{background:var(--surface);color:var(--ink)}.board-frame,.rules-card,.mode-switch,.dialog-secondary,.cell.closed{background:var(--soft)}.board{background:var(--board)}.cell:hover:not(:disabled){background:var(--soft)}.action:not(.add-action),.pair-examples span{background:var(--tile);color:var(--ink)}.game,.board-frame,.rules-card,.site-header,dialog,.action,.undo-action{border-color:var(--line)}.text-button,.icon-button,.stat-label,.best-stat strong,.board-topline,.board-bottomline,.game-status,.save-status,.dialog-body,.dialog-eyebrow,.local-label,.rules-card>p:not(.eyebrow),.rule-item p,.rule-item strong,.quiet-note p,.quiet-note strong,.intro>p:last-child,.eyebrow,footer,.pair-examples small,.action:not(.add-action) small{color:var(--muted)}.settings-form{font-size:14px;line-height:1.5}.settings-form label{align-items:center;gap:12px;min-height:48px;display:flex}.settings-form select{min-height:44px;font:inherit;background:var(--paper);color:var(--ink);border:1px solid var(--muted);border-radius:6px;margin-left:auto;padding:6px}.settings-form input{width:24px;height:24px;accent-color:var(--olive)}.settings-form p{color:var(--muted)}select:focus-visible,input:focus-visible{outline-offset:2px;outline:3px solid #a47442}.settings-trigger{flex:none;font-family:inherit}:root[data-animations=false] *,:root[data-animations=false] :before,:root[data-animations=false] :after{scroll-behavior:auto!important;transition:none!important;animation:none!important}@media (width<=360px){.brand{font-size:18px}.header-right{gap:2px}.site-header{padding-inline:6px}}.action-icon,.dialog-score{color:var(--olive)}.update-header{display:none}@media (width>=540px) and (height<=540px){.site-header{position:relative}.update-inline{display:none}.update-header{display:block;position:absolute;top:4px;left:212px}}@media (width>=540px) and (width<=600px) and (height<=540px){.update-header{left:156px}}@media (width<=539px) and (height<=540px){.site-header:has(.update-header){position:relative}.site-header:has(.update-header) .brand{font-size:0}.site-header:has(.update-header) .brand-dot{display:none}.site-header:has(.update-header) .brand-mark{margin-right:0;display:flex}.update-inline{display:none}.update-header{display:block;position:absolute;top:4px;left:64px}}@media (width<=349px) and (height<=540px){.site-header:has(.update-header){justify-content:flex-end}.site-header:has(.update-header) .brand{display:none}.update-header{left:12px}}.save-warning>.dialog-button{min-height:44px;margin-top:6px}
