:root{--paper:#f7f1e3;--cream:#efe4cc;--slate:#4b5b69;--ink:#1d2731;--muted:#58616a;--amber:#e3a52b;--spent:#b9b2a3;--line:#d9d0be;--white:#fffdf8;--gk-accent:#374c59;--gk-accent-hover:#263841;--gk-bg:#fffdf8;--gk-text:#1d2731;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}*{box-sizing:border-box}body{margin:0;line-height:1.65}button,input,select{font:inherit}a{color:inherit;text-underline-offset:4px}button,.button{display:inline-flex;justify-content:center;align-items:center;gap:6px;min-height:44px;border:1px solid var(--line);border-radius:8px;background:var(--white);color:var(--ink);padding:8px 15px;font-weight:650;text-decoration:none;cursor:pointer}button:hover,.button:hover{border-color:var(--slate);background:#f0e8d7}button:disabled{cursor:not-allowed;opacity:.45}button:focus-visible,a:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #a46400;outline-offset:3px}.button,.win-actions>button:first-child{background:var(--ink);color:var(--white);border-color:var(--ink)}.button:hover,.win-actions>button:first-child:hover{background:var(--slate);color:white}button[hidden],[hidden]{display:none!important}.wrap{max-width:1120px;margin:auto;padding:0 28px}.site-header{border-bottom:1px solid var(--line);background:#fffcf4}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:22px;min-height:84px}.brand{display:inline-flex;align-items:center;gap:10px;font-family:Georgia,"Times New Roman",serif;font-weight:bold;font-size:31px;letter-spacing:-1px;text-decoration:none}.site-header nav{display:flex;flex-wrap:wrap;gap:20px;font-size:14px;font-weight:600}.site-header nav a{text-decoration:none;padding:9px 0;border-bottom:2px solid transparent}.site-header nav a:hover,.site-header nav a[aria-current]{border-color:var(--amber)}.account-tools{display:flex;align-items:center;gap:9px}.skip-link{position:absolute;left:20px;top:-90px;z-index:100;background:var(--white);padding:12px}.skip-link:focus{top:12px}.page-heading{text-align:center;max-width:810px;margin:44px auto 32px}.eyebrow{font-size:11px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin:0 0 8px}h1,h2,h3{line-height:1.14}h1{font-family:Georgia,"Times New Roman",serif;font-size:clamp(34px,5.5vw,55px);letter-spacing:-1.8px;margin:9px 0 15px}h2{font-family:Georgia,"Times New Roman",serif;font-size:28px;letter-spacing:-.5px}.deck{color:var(--muted);font-size:16px;max-width:640px;margin:auto;line-height:1.7}.play-layout{display:grid;grid-template-columns:minmax(300px,584px) minmax(220px,280px);justify-content:center;align-items:start;gap:38px}.game-shell{padding:20px;border:1px solid var(--line);border-radius:16px;background:var(--white);box-shadow:0 8px 30px #1d273108}.game-top{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px}.game-top>span{font-size:11px;letter-spacing:.08em;font-weight:750}.quiet-button{background:transparent;border-color:transparent;font-size:13px;padding:5px 8px;min-height:36px}.game-metrics{display:flex;align-items:center;justify-content:space-between;font-size:12px;color:var(--muted);margin:4px 0 13px;gap:10px}.game-metrics strong{font-size:16px;font-weight:750;color:var(--ink)}#timer{font-variant-numeric:tabular-nums;font-size:14px}.board{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));width:100%;aspect-ratio:1;border:3px solid var(--ink);border-radius:5px;overflow:hidden;isolation:isolate}.board-row{display:contents}.square{position:relative;display:flex;align-items:center;justify-content:center;min-width:0;min-height:0;padding:0;border:0;border-radius:0;aspect-ratio:1;touch-action:manipulation;user-select:none;overflow:hidden}.square.light,.square.light:hover{background:var(--cream)}.square.dark,.square.dark:hover{background:var(--slate)}.square-name{position:absolute;left:3px;top:1px;font-size:8px;line-height:1.2;font-weight:600;color:#1d2731b0;z-index:1}.square.dark .square-name{color:#fff8dfcc}.piece{width:83%;height:83%;object-fit:contain;pointer-events:none;margin-bottom:4%;position:relative;z-index:1}.square.selected{box-shadow:inset 0 0 0 4px var(--amber);z-index:2}.square.target:after{content:"";position:absolute;inset:4px;border:3px solid var(--amber);border-radius:50%;z-index:2;pointer-events:none}.square.hint-source:before{content:"";position:absolute;inset:3px;border:3px dashed #955b00;z-index:3;pointer-events:none}.square:focus-visible{outline:3px solid white;outline-offset:-5px;box-shadow:inset 0 0 0 3px #a46400;z-index:4}.capture-pips{display:flex;gap:4px;position:absolute;bottom:4px;left:50%;transform:translateX(-50%);z-index:3;padding:2px 4px;border-radius:6px;background:#1d2731e8}.capture-pips i,.demo-pips i{display:block;width:6px;height:6px;border-radius:50%;background:var(--amber);border:1px solid #fff7d055}.capture-pips i.used{background:var(--spent);opacity:.6}.spent-label{position:absolute;bottom:1px;left:0;right:0;text-align:center;font-size:7px;font-weight:800;letter-spacing:.06em;color:white;background:#1d2731e8;z-index:4;line-height:1.5}.square.spent .capture-pips{bottom:12px}.game-status{min-height:48px;margin:14px 0 10px;font-size:13px;line-height:1.5;text-align:center}.game-controls{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.game-controls button{font-size:13px;padding:8px 5px}#hint-count{font-size:10px;color:var(--muted)}.save-status{font-size:11px;color:var(--muted);min-height:18px;text-align:center;margin:13px 0 0}.rule-card{padding:24px;border:1px solid var(--line);border-radius:12px;background:#ece4d3}.rule-card h2{font-size:34px;margin:10px 0 15px}.rule-card p{font-size:14px;line-height:1.7}.rule-card button{width:100%;margin:12px 0}.rule-card a{font-size:12px}.pip-key{display:flex;gap:9px;align-items:center;font-size:12px}.demo-pips{display:flex;gap:4px;background:var(--ink);padding:5px;border-radius:7px}.piece-key,.daily-rank{padding:10px 4px;margin-top:20px}.piece-key h2,.daily-rank h2{font-family:inherit;font-size:14px;letter-spacing:0;margin-bottom:16px}.piece-key p{font-size:12px;color:var(--muted);margin:6px 0}.piece-key strong{display:inline-block;width:22px;font-weight:800;color:var(--ink)}#board-help{margin-top:17px;font-size:11px}.daily-rank{font-size:12px}.difficulty-form{display:flex;gap:9px;align-items:center;font-size:12px;margin-bottom:12px}.difficulty-form select{padding:8px;border:1px solid var(--line);border-radius:6px;background:var(--white);max-width:46%}.difficulty-form button{font-size:12px;margin-left:auto}.reading{max-width:760px;margin:50px auto 64px}.content-section{margin:32px 0}.content-section h2{margin:0 0 18px}.content-section p,.content-section li{font-size:15px;line-height:1.85;color:#3e4951}.content-section li{margin:9px 0}.content-section ul{padding-left:24px}.content-card{max-width:760px;margin:30px auto;padding:25px;background:var(--white);border:1px solid var(--line);border-radius:12px}.puzzle-links{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:10px;margin:30px 0}.puzzle-links a{border:1px solid var(--line);border-radius:8px;text-decoration:none;text-align:center;padding:12px 8px;background:var(--white);font-size:13px}.puzzle-links a:hover{border-color:var(--slate)}details{border-top:1px solid var(--line);padding:16px 0}summary{font-weight:650;cursor:pointer;font-size:14px}.faq p{font-size:14px;margin-bottom:0}.reading-cta{display:flex;gap:20px;align-items:center;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:25px}.site-footer{background:#eae2d0;border-top:1px solid var(--line);padding:40px 0 20px}.footer-top{display:flex;justify-content:space-between;gap:24px;padding-bottom:24px}.footer-top p{font-size:12px;color:var(--muted)}.footer-top nav{display:flex;flex-wrap:wrap;gap:12px 22px;max-width:550px;align-content:flex-start;padding-top:12px;font-size:13px}.site-footer nav[aria-label="More Games"] h2{font-size:14px;font-family:inherit;letter-spacing:0}.site-footer ul{display:flex;flex-wrap:wrap;gap:8px 20px;list-style:none;padding:0;font-size:12px}.fineprint{font-size:11px;color:var(--muted);border-top:1px solid #cbbfa7;padding-top:20px;margin-top:24px}.win-modal{position:fixed;inset:0;background:#172027b8;z-index:1000;display:flex;align-items:center;justify-content:center;padding:18px;overflow-y:auto}.win-panel{position:relative;background:var(--paper);border:1px solid var(--line);border-radius:16px;text-align:center;width:min(480px,100%);padding:34px 26px}.win-close{position:absolute;right:10px;top:10px;font-size:24px;padding:0;width:40px;height:40px;min-height:40px;background:transparent;border-color:transparent}.win-panel h2{font-size:38px;margin:14px 0}.win-panel p{font-size:14px}.win-panel .eyebrow{font-size:10px;margin-top:15px}.win-actions{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;margin:25px 0 12px}.win-actions button,.win-actions a{font-size:13px}.error-page{padding-top:50px}.notice{border:1px solid var(--amber);padding:12px;font-size:13px}html.gk-fullscreen .game-aside{display:none}html.gk-fullscreen .play-layout{width:100%;max-width:none;justify-content:center;margin:0;gap:0;align-items:center}html.gk-fullscreen .game-shell{border:0;border-radius:0;box-shadow:none;display:flex;align-items:center;flex-direction:column;width:100%;max-width:660px;min-height:0;padding:8px 14px;background:var(--paper);overflow:auto}html.gk-fullscreen .game-shell>*{width:100%;max-width:540px}html.gk-fullscreen .game-shell .board{width:min(100%,calc(100dvh - 220px - var(--gk-anchor-h,0px)));flex-shrink:0}html.gk-fullscreen .game-status{min-height:32px;margin:8px 0}html.gk-fullscreen .game-controls{flex-shrink:0}html.gk-fullscreen .game-top{flex-shrink:0}html.gk-fullscreen .win-modal:not([hidden]){display:flex}html.gk-fullscreen .save-status{margin-top:8px}html.gk-fullscreen .difficulty-form{margin-bottom:5px}html.gk-fullscreen.gk-fs-tight .game-shell{padding-top:2px}html.gk-fullscreen.gk-fs-tight .game-shell .board{width:min(100%,calc(100dvh - 250px - var(--gk-anchor-h,0px)))}.game-shell:fullscreen{max-width:none;width:100%;height:100%;overflow:auto;display:flex;flex-direction:column;align-items:center;background:var(--paper);border:0}.game-shell:fullscreen>*{width:min(560px,100%)}.game-shell:fullscreen .board{width:min(70vh,560px,100%)}.game-shell:fullscreen .game-status{min-height:26px}body.win-open{overflow:hidden}@media(max-width:900px){.header-inner{gap:12px;flex-wrap:wrap;min-height:70px;padding-top:12px;padding-bottom:12px}.site-header nav{order:3;justify-content:center;width:100%;gap:22px;font-size:13px}.brand{font-size:28px}.play-layout{gap:22px;grid-template-columns:minmax(300px,520px) minmax(190px,240px)}.wrap{padding:0 20px}.header-inner{padding-top:12px;padding-bottom:12px}.rule-card{padding:18px}.piece{width:86%;height:86%}.game-shell{padding:15px}.square-name{font-size:7px}}@media(max-width:680px){.wrap{padding:0 14px}.header-inner{padding-top:10px;padding-bottom:9px}.site-header nav{gap:17px;white-space:nowrap;overflow-x:auto;justify-content:center;font-size:12px}.site-header nav a{padding:3px 0}.brand{font-size:27px}.brand img{width:29px;height:29px}.page-heading{margin:26px auto 22px}.page-heading .eyebrow{font-size:9px}h1{font-size:35px;letter-spacing:-1.2px}.deck{font-size:13px;line-height:1.6;max-width:390px}.play-layout{display:block;max-width:520px;margin:auto}.game-shell{padding:12px;border-radius:12px}.game-top{margin-bottom:3px}.game-top>span{font-size:10px}.quiet-button span{display:none}.game-metrics{font-size:11px;margin-bottom:9px}.game-metrics strong{font-size:14px}.square-name{font-size:6px;left:2px}.piece{width:86%;height:86%;margin-bottom:6%}.capture-pips{bottom:2px;gap:3px;padding:1px 3px}.capture-pips i{width:4px;height:4px}.spent-label{font-size:5px}.square.spent .capture-pips{bottom:9px}.game-status{font-size:12px;min-height:38px;margin:10px 0}.game-controls{gap:6px}.game-controls button{font-size:12px}.game-aside{margin-top:22px}.rule-card{display:grid;grid-template-columns:1fr 1fr;gap:0 16px;padding:18px}.rule-card .eyebrow,.rule-card h2,.rule-card>p,.rule-card .pip-key{grid-column:1/-1}.rule-card h2{font-size:28px;margin:6px 0}.rule-card p{font-size:13px;margin:8px 0}.rule-card .small{display:none}.rule-card button{font-size:12px;padding:8px 4px}.rule-card a{align-self:center;text-align:center}.piece-key{display:none}.daily-rank{margin-top:10px}.reading{margin-top:32px}.content-section h2{font-size:25px}.content-section p,.content-section li{font-size:14px}.footer-top{display:block}.footer-top nav{padding-top:0}.reading-cta{gap:15px}.puzzle-links{grid-template-columns:repeat(3,minmax(0,1fr))}.win-panel{padding:30px 18px}.win-panel h2{font-size:32px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}@media(min-width:681px) and (max-width:780px){.play-layout{grid-template-columns:minmax(300px,480px)}.game-aside{display:grid;grid-template-columns:1fr 1fr;gap:20px}.rule-card{grid-row:span 2}.piece-key{margin-top:0}}
