:root{color-scheme:dark;--ink:#f4eedf;--muted:#a4abc6;--quiet:#8791af;--bg:#151a31;--line:#ffffff16;--gold:#f4d792;--serif:"Iowan Old Style","Palatino Linotype","Book Antiqua",Palatino,Georgia,serif;--sans:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-family:var(--sans);font-size:16px;background:var(--bg);color:var(--ink);font-synthesis:none}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 65% 25%,#25304a44,transparent 52%),var(--bg);min-width:280px}button,a{-webkit-tap-highlight-color:transparent}button,input{font:inherit}button{cursor:pointer}button:disabled{cursor:default}a{color:inherit;text-underline-offset:5px}button{touch-action:manipulation}button:focus-visible,a:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--gold);outline-offset:5px}button:focus:not(:focus-visible){outline:none}button:disabled{opacity:.38}[hidden]{display:none!important}::selection{background:#f4d79238;color:white}.skip-link{position:fixed;top:10px;left:16px;z-index:20;padding:10px 16px;background:var(--gold);color:var(--bg);transform:translateY(-160%)}.skip-link:focus{transform:none}.site-header{max-width:1240px;padding:32px 54px 0;margin:auto;display:flex;justify-content:space-between;align-items:center;gap:20px}.wordmark{display:flex;align-items:center;font-size:23px;font-weight:650;letter-spacing:-1.1px;text-decoration:none}.wordmark-dot{color:var(--gold)}.brand-light{width:16px;height:16px;border-radius:4px;background:var(--gold);margin-right:11px;box-shadow:0 0 18px #f4d79236}.quiet-link{font-size:13px;color:var(--muted);text-decoration:none}.quiet-link span{margin-left:8px;color:var(--gold)}.quiet-link:hover{color:var(--ink)}.game-shell{max-width:1130px;margin:0 auto;display:grid;grid-template-columns:1fr 440px;gap:78px;align-items:start;padding:68px 54px 36px;outline:none!important}.introduction{padding-top:33px}.eyebrow{font-size:10px;line-height:1.7;font-weight:650;letter-spacing:2.3px;color:var(--muted);margin:0 0 23px}.tiny-cross{font-size:15px;color:var(--gold);vertical-align:-1px;margin-right:8px}h1{font-family:var(--serif);font-size:clamp(43px,4.75vw,65px);font-weight:400;line-height:1.09;letter-spacing:-2.2px;margin:0 0 25px}h1 em{color:var(--gold);font-weight:400}.intro-copy{font-size:14px;line-height:1.9;color:var(--muted);margin:0 0 32px}.game-settings{max-width:320px}.mode-switch{display:flex;background:#0c10224a;border:1px solid var(--line);border-radius:7px;padding:4px;width:260px;gap:4px}.mode-button{flex:1;border:0;border-radius:4px;background:transparent;color:var(--muted);height:39px;font-size:13px;transition:background .15s,color .15s}.mode-button:hover{color:var(--ink)}.mode-button.selected{background:#30394f;color:var(--ink);box-shadow:0 1px 4px #070a1730}.mode-description{font-size:11px;line-height:1.7;color:var(--muted);min-height:38px;margin:11px 0 25px;max-width:270px}.size-setting{display:flex;align-items:center;gap:18px}.field-label{font-size:9px;font-weight:600;letter-spacing:1.5px;color:var(--muted);white-space:nowrap}.size-switch{display:flex;gap:6px}.size-switch button{border:1px solid transparent;background:transparent;color:var(--muted);font-size:12px;padding:9px 10px;border-radius:4px;white-space:nowrap}.size-switch button:hover{background:#ffffff06;color:var(--ink)}.size-switch button.selected{border-color:#f4d7925c;color:var(--gold);background:#f4d79208}.rule-note{display:flex;align-items:center;gap:14px;margin-top:37px;color:var(--ink)}.rule-note p{font-size:11px;line-height:1.8;margin:0}.rule-note p span{color:var(--quiet);font-size:10px}.cross-demo{display:grid;grid-template-columns:repeat(3,8px);grid-template-rows:repeat(3,8px);gap:3px;padding:5px}.cross-demo i{border-radius:2px}.cross-demo .on{background:#f4d7925c}.cross-demo .centre{background:var(--gold)}.puzzle{min-width:0}.board-topline{display:flex;justify-content:space-between;gap:12px;color:var(--muted);font-size:9px;letter-spacing:1.6px;line-height:1.5;margin-bottom:14px}.board-topline #puzzle-date{letter-spacing:1px;color:var(--quiet);text-align:right}.board-frame{position:relative;border:1px solid #505b794d;border-radius:18px;background:linear-gradient(135deg,#222941,#191f36);padding:16px;box-shadow:0 18px 50px #06091438,inset 0 1px 0 #ffffff07;isolation:isolate}.board-grain{pointer-events:none;position:absolute;inset:0;border-radius:inherit;z-index:-1;background:radial-gradient(ellipse at 50% 25%,#ffe9ba05,transparent)}.board{display:grid;gap:9px;grid-template-columns:1fr;aspect-ratio:1;outline:none}.board-row{display:grid;grid-template-columns:repeat(var(--size,5),1fr);gap:9px;min-height:0}.board-cell{min-width:0;min-height:0;position:relative}.tile{border:1px solid #7381a2;display:grid;place-items:center;width:100%;height:100%;padding:0;border-radius:10px;background:linear-gradient(145deg,#232c44,#20273c);color:var(--ink);position:relative;box-shadow:inset 0 1px 3px #0a112036,0 1px 0 #ffffff05;transition:background .18s,box-shadow .18s,border-color .18s,transform .1s,filter .15s;opacity:1!important}.tile:after{content:"";width:5px;height:5px;border-radius:50%;background:#54617e;transition:background .2s;pointer-events:none}.tile.is-on{background:linear-gradient(135deg,#f9dfa8,#e9c579);border-color:#ffecbf;box-shadow:0 0 19px #efd48c18,inset 0 1px 2px #fff9e54f,0 2px 4px #090d242a}.tile.is-on:after{background:#9b763741;box-shadow:0 1px 1px #fff0c67a}.tile:hover:not(:disabled){filter:brightness(1.12);transform:translateY(-1px)}.tile:active:not(:disabled){transform:scale(.94);filter:brightness(.97)}.tile:focus-visible{outline:2px solid #fff5d8;outline-offset:3px;z-index:2}.tile.is-hint:before{content:"";position:absolute;inset:9px;border:2px solid currentColor;border-radius:5px;opacity:.9}.tile.is-hint{color:#e8d196}.tile.is-hint.is-on{color:#6b4b20}.tile.is-hint:after{width:12px;height:12px;background:currentColor;box-shadow:none}.tile.was-flipped{animation:soft-tap .2s ease-out}@keyframes soft-tap{from{transform:scale(.965)}to{transform:scale(1)}}.board-score{display:flex;align-items:center;justify-content:center;gap:30px;padding:20px 0 17px}.board-score>div{display:flex;align-items:baseline;gap:9px}.board-score strong{font-size:23px;font-weight:400;font-variant-numeric:tabular-nums;line-height:1}.board-score span:not(.score-line){font-size:8px;color:var(--quiet);letter-spacing:1.3px}.score-line{height:16px;width:1px;background:var(--line)}.tools{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:4px 0}.tools button{display:flex;align-items:center;justify-content:center;gap:9px;background:transparent;border:0;color:var(--muted);font-size:12px;min-height:40px;border-radius:4px}.tools button:not(:disabled):hover{background:#ffffff05;color:var(--ink)}.tools button span{font-size:21px;line-height:1}.tools button .hint-symbol{color:var(--gold);font-size:23px}.feedback{text-align:center;color:var(--quiet);font-size:11px;line-height:1.6;min-height:35px;padding:12px 4px 0}.feedback.hint-message{color:var(--gold)}.below-board{text-align:center}.below-board p{color:var(--quiet);font-size:10px;margin:8px 0 0;line-height:1.6}.text-action{border:0;background:transparent;color:var(--gold);padding:8px 6px;font-size:12px}.text-action span{margin-left:8px}.text-action:hover{color:#fff4d7}.victory{margin:9px 0 4px;text-align:center;border-top:1px solid #f4d79225;padding-top:15px;animation:appear .3s ease-out}.victory-mark{display:block;color:var(--gold);font-size:18px;margin-bottom:8px}.victory h2{font-family:var(--serif);font-size:29px;letter-spacing:-.7px;font-weight:400;margin:0 0 8px}.victory p{font-size:12px;color:var(--muted);margin:0 0 5px}.victory+.below-board{margin-top:5px}@keyframes appear{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}.notice{background:#ffffff05;border:1px solid #f4d79225;border-radius:6px;padding:12px 15px;font-size:12px;line-height:1.6;margin-top:15px;color:var(--muted)}.notice p{margin:0}.notice button{background:transparent;border:0;color:var(--gold);padding:7px 0 0;font-size:12px}.about-game{max-width:1022px;margin:24px auto 0;border-top:1px solid var(--line);padding:48px 0 60px;display:grid;grid-template-columns:1fr 1.25fr;gap:70px}.about-game .eyebrow{font-size:9px;margin-bottom:16px}.about-game h2{font-family:var(--serif);font-weight:400;font-size:35px;line-height:1.2;letter-spacing:-.9px;margin:0}.about-game p:not(.eyebrow){font-size:13px;line-height:1.85;color:var(--muted);margin:0 0 16px}.site-footer{max-width:1130px;padding:26px 54px 35px;margin:auto;display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--line);font-size:10px;color:var(--quiet)}.site-footer>span:first-child{color:var(--muted);font-size:12px;font-weight:600;letter-spacing:-.3px}.site-footer nav{display:flex;gap:22px}.site-footer a{text-decoration:none}.site-footer a:hover{color:var(--ink)}dialog{color:var(--ink);background:#222941;border:1px solid #4c5670;border-radius:14px;padding:30px;max-width:420px;width:calc(100% - 36px);box-shadow:0 20px 90px #0008}dialog::backdrop{background:#090d1ccd;backdrop-filter:blur(4px)}dialog .eyebrow{font-size:9px;margin-bottom:18px}dialog h2{font-family:var(--serif);font-weight:400;font-size:31px;margin:0 0 15px;letter-spacing:-.5px}dialog p:not(.eyebrow){font-size:13px;line-height:1.7;color:var(--muted);margin:0 0 24px}.dialog-actions{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap}.dialog-actions button{border:1px solid #ffffff23;background:transparent;border-radius:5px;color:var(--muted);padding:11px 16px;font-size:12px}.dialog-actions .primary-button{background:var(--gold);color:#30291d;border-color:var(--gold)}
/* The guide shares the palette and type, while its reading width stays narrow. */
.guide-shell{max-width:1000px;margin:0 auto;padding:65px 54px 60px}.guide-heading{max-width:680px;margin-bottom:44px}.guide-heading h1{font-size:58px;margin-bottom:22px}.guide-lead{font-size:17px;line-height:1.8;color:var(--muted);max-width:570px}.guide-layout{display:grid;grid-template-columns:1fr 270px;gap:75px;align-items:start}.guide-body h2{font-family:var(--serif);font-size:30px;font-weight:400;letter-spacing:-.5px;margin:0 0 16px}.guide-body section{margin-bottom:40px}.guide-body p,.guide-body li{font-size:14px;line-height:1.9;color:var(--muted)}.guide-body p{margin:0 0 14px}.guide-body ul,.guide-body ol{padding-left:21px}.guide-body li{padding-left:4px;margin-bottom:9px}.guide-body strong{color:var(--ink);font-weight:500}.guide-body a{color:var(--gold)}.guide-aside{position:sticky;top:28px}.demo-label{font-size:10px;letter-spacing:1.5px;color:var(--muted);margin:0 0 15px}.demo-board{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding:12px;border:1px solid #505b794d;border-radius:12px;background:#222941;aspect-ratio:1}.demo-board .tile{border-radius:8px}.demo-caption{font-size:12px;line-height:1.8;color:var(--muted);min-height:45px}.demo-controls{display:flex;justify-content:space-between;gap:12px;margin-top:5px}.demo-controls button{font-size:11px}.guide-aside .play-link{display:block;text-align:center;background:var(--gold);color:#27251f;text-decoration:none;border-radius:5px;padding:13px;margin-top:24px;font-size:13px}.key{display:inline-block;line-height:1.4;border:1px solid #58617b;border-radius:4px;padding:2px 5px;font-family:var(--sans);font-size:11px;color:var(--ink)}
@media(min-width:1300px){.game-shell{padding-top:80px;padding-bottom:45px}}@media(max-width:1050px){.game-shell{gap:45px;grid-template-columns:1fr minmax(310px,400px);padding-left:36px;padding-right:36px}.site-header{padding-left:36px;padding-right:36px}.about-game{margin-left:36px;margin-right:36px;gap:45px}.site-footer{padding-left:36px;padding-right:36px}h1{font-size:51px}.guide-layout{gap:40px;grid-template-columns:1fr 235px}}@media(max-width:760px){.site-header{padding:23px 24px 0}.wordmark{font-size:21px}.site-header .quiet-link{font-size:11px}.game-shell{grid-template-columns:1fr;gap:22px;padding:34px 24px 30px;max-width:480px}.introduction{padding-top:0;text-align:center}.eyebrow{font-size:9px;margin-bottom:13px;letter-spacing:1.8px}h1{font-size:40px;line-height:1.13;letter-spacing:-1.5px;margin-bottom:14px}h1 br{display:none}.intro-copy{font-size:12px;line-height:1.7;margin-bottom:23px}.game-settings{max-width:none}.mode-switch{margin:auto;width:240px}.mode-button{height:34px}.mode-description{max-width:none;min-height:0;margin:9px 0 17px;font-size:10px}.size-setting{justify-content:center;gap:14px}.size-switch button{padding:8px 13px}.rule-note{display:none}.board-topline{font-size:8px;margin-bottom:11px}.board-frame{padding:13px;border-radius:15px}.board,.board-row{gap:8px}.tile{border-radius:8px}.board-score{padding:18px 0 16px}.about-game{margin:10px 24px 0;padding:32px 0 37px;grid-template-columns:1fr;gap:21px}.about-game h2{font-size:30px}.about-game h2 br{display:none}.about-game .eyebrow{margin-bottom:10px}.about-game p:not(.eyebrow){font-size:12px}.site-footer{padding:23px 24px 30px;flex-wrap:wrap;gap:20px}.site-footer>span:nth-child(2){display:none}.site-footer nav{gap:18px}.guide-shell{padding:40px 24px}.guide-heading h1{font-size:43px}.guide-lead{font-size:15px}.guide-layout{display:flex;flex-direction:column;gap:30px}.guide-aside{position:static;order:-1;width:100%;max-width:330px;margin:auto}.guide-body h2{font-size:28px}.guide-body p,.guide-body li{font-size:13px}.guide-heading{margin-bottom:30px}}@media(max-width:360px){.site-header{padding-left:17px;padding-right:17px}.game-shell{padding-left:17px;padding-right:17px}.board-frame{padding:10px}.board,.board-row{gap:6px}h1{font-size:36px}.field-label{font-size:8px}.size-switch button{padding:8px 10px}.board-score{gap:22px}.board-score>div{gap:7px}.board-topline{letter-spacing:1px}.tile.is-hint:before{inset:6px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

@media(pointer:coarse){.mode-button{min-height:44px}.size-switch button{min-height:44px}.demo-controls button{min-height:44px}}

.tools button,.text-action,.notice button,.mode-button,.size-switch button,.dialog-actions button,.demo-controls button{min-height:44px;min-width:44px}.mode-button{height:44px}.site-header .quiet-link,.site-footer a{display:inline-flex;align-items:center;min-height:44px}

@media(forced-colors:active){.tile{background:Canvas;border-color:CanvasText;box-shadow:none;color:CanvasText}.tile.is-on{background:Canvas;border-color:CanvasText}.tile:after,.tile.is-hint:after{content:'○';display:block;width:auto;height:auto;background:none;box-shadow:none;color:CanvasText;font-size:24px;line-height:1}.tile.is-on:after{content:'●';background:none;color:CanvasText}.tile.is-hint{outline:3px dashed Highlight;outline-offset:-6px}.tile:focus-visible{outline-color:Highlight}}
