:root{color-scheme:dark;--paper:#17191b;--ink:#f2f3f4;--green:#a9c8b6;--muted:#a3a8ad;--line:#42494f;--tile:#292e32;--accent:#2c4336;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:var(--paper)}
.board{grid-template-rows:repeat(var(--cols),minmax(0,1fr))}
*{box-sizing:border-box}body{margin:0;min-width:280px}button,a,select{-webkit-tap-highlight-color:transparent}button,select{font:inherit}button{cursor:pointer}button:disabled{cursor:default;opacity:.4}button:focus-visible,a:focus-visible,select:focus-visible{outline:3px solid #bccdde;outline-offset:4px}button{color:inherit}button[hidden],[hidden]{display:none!important}.site-header{max-width:1280px;margin:auto;padding:29px 48px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line)}.home{font-family:Georgia,serif;text-decoration:none;color:var(--ink);font-size:22px;letter-spacing:-.6px}.home span{font-family:Arial,sans-serif;font-size:18px;margin-left:15px}.edition{font-size:10px;letter-spacing:1.9px;color:var(--muted)}main{max-width:1120px;margin:0 auto;display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1fr);gap:85px;padding:61px 35px 37px}.intro{padding-top:30px}.eyebrow{font-size:10px;letter-spacing:2.1px;font-weight:700;margin:0;color:var(--muted)}.green-dot{width:6px;height:6px;background:var(--green);display:inline-block;border-radius:50%;vertical-align:2px;margin-right:8px}h1{font-family:Georgia,'Times New Roman',serif;font-weight:400;font-size:108px;line-height:1.1;letter-spacing:-7px;margin:17px 0 22px}h1 span{color:var(--green)}.lede{font-size:21px;font-family:Georgia,serif;line-height:1.55;letter-spacing:-.25px;margin-bottom:35px}.rule-list{max-width:330px}.rule-list p{font-size:13px;line-height:1.7;position:relative;padding-left:34px;margin:0 0 16px}.rule-number{position:absolute;left:0;top:2px;color:#a3a8ad;font-size:10px;letter-spacing:1px}.rule-list strong{font-weight:600}.legend{display:flex;gap:23px;margin:28px 0 0;padding:21px 0;border-top:1px solid var(--line);max-width:330px;font-size:11px;color:var(--muted)}.legend span{display:flex;align-items:center;gap:8px}.legend i{display:inline-block;width:10px;height:10px;background:var(--green)}.legend-start{border-radius:50%}.legend-end{transform:rotate(45deg)}.legend i.legend-block{background:#292e32;border-radius:2px}.quiet-note{font-family:Georgia,serif;color:var(--muted);font-style:italic;font-size:14px;line-height:1.65;margin-top:34px}.game{min-width:0;max-width:495px}.level-header{display:flex;justify-content:space-between;align-items:center;gap:12px}h2{font-family:Georgia,serif;font-size:28px;font-weight:400;letter-spacing:-.7px;margin:10px 0 0}.level-picker{display:block;flex-shrink:0}.level-picker select{border:1px solid var(--line);background:transparent;color:var(--ink);padding:10px 8px;font-size:12px;border-radius:6px;max-width:145px}.level-note{color:var(--muted);font-size:12px;margin:12px 0 23px;line-height:1.5;min-height:18px}.board-wrap{padding:17px;background:#36352b;border:1px solid #42494f;border-radius:12px;box-shadow:0 9px 25px #00000010}.board{position:relative;display:grid;grid-template-columns:repeat(var(--cols),minmax(0,1fr));gap:5px;aspect-ratio:1;isolation:isolate}.cell{position:relative;border:0;background:#212528;border-radius:5px;padding:0;min-width:0;min-height:0;display:grid;place-items:center;touch-action:manipulation}.cell.visited{background:#32372a}.cell.blocked{background:repeating-linear-gradient(135deg,#292e32 0px,#292e32 2px,#292e32 2px,#292e32 6px);border:1px solid #42494f}.cell:focus-visible{outline-offset:-4px;z-index:3}.cell.current{box-shadow:inset 0 0 0 2px var(--green)}.cell.possible{box-shadow:inset 0 0 0 1px #00000033}.cell.possible:hover{background:#333a27}.mark{position:relative;z-index:2;display:grid;place-items:center;width:30px;height:30px;font-family:Georgia,serif;font-size:21px;font-weight:400;background:#212528;border:1px solid #42494f;border-radius:5px;color:var(--green)}.visited .mark{background:#32372a;border-color:var(--green)}.start .mark{width:16px;height:16px;border-radius:50%;border:4px solid var(--paper);box-shadow:0 0 0 2px var(--green);background:var(--green)}.end .mark{width:17px;height:17px;border-radius:2px;border:3px solid var(--green);transform:rotate(45deg);background:#212528}.end.visited .mark{background:var(--green);border-color:var(--paper);box-shadow:0 0 0 2px var(--green)}.current:not(.start):not(.checkpoint):not(.end)::after{content:'';position:relative;z-index:2;width:14px;height:14px;border-radius:50%;background:var(--green);border:3px solid #42494f;box-shadow:0 0 0 2px var(--green)}.cell.hinted{box-shadow:inset 0 0 0 3px #00000033;background:#3d3524}.path-svg{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:1;overflow:visible}.path-svg polyline{fill:none;stroke:var(--green);stroke-width:7;stroke-linecap:round;stroke-linejoin:round}.progress-row{display:flex;justify-content:space-between;gap:8px;font-size:11px;color:var(--muted);margin:20px 0 10px;font-variant-numeric:tabular-nums}.progress-row strong{color:var(--ink);font-weight:600}.progress-track{height:3px;border-radius:3px;background:#32342d;overflow:hidden}.progress-track span{display:block;height:100%;background:var(--green);transition:width .18s ease}.controls{display:flex;justify-content:space-between;gap:8px;padding:19px 0 0}.control{border:1px solid var(--line);background:transparent;border-radius:6px;min-height:43px;padding:9px 12px;font-size:12px;white-space:nowrap}.control span{font-size:18px;margin-right:6px;vertical-align:-1px}.control:hover:not(:disabled){background:#33362b}.hint-control{background:#343829;border-color:#42494f}.message{font-size:12px;line-height:1.6;margin:14px 0 0;min-height:20px;color:var(--green)}.hint-panel{background:#3a3627;border:1px solid #42494f;border-radius:7px;padding:14px;margin-top:16px}.hint-panel p{margin:0 0 11px;font-size:13px;line-height:1.65}.small-button,.primary-button{border:0;color:#cfccb4;background:var(--green);border-radius:5px;padding:11px 14px;font-size:12px;min-height:40px}.small-button:hover,.primary-button:hover{background:#3c5346}.plain-button{border:0;background:transparent;font-size:12px;padding:10px 12px}.success{display:grid;grid-template-columns:auto 1fr;gap:12px;background:#323829;padding:20px;border-radius:9px;margin-top:16px;border:1px solid #42494f}.success-mark{font-size:25px}.success h3{font:400 24px Georgia,serif;margin:0 0 6px}.success p{font-size:12px;line-height:1.6;margin:0}.success .primary-button{grid-column:1/-1;justify-self:start;margin-top:4px}.keyboard-note{font-size:10px;line-height:1.5;letter-spacing:.15px;color:var(--muted);text-align:center;margin:17px 0 0}footer{max-width:1184px;margin:0 auto;padding:24px 13px 29px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:16px;color:var(--muted);font-size:10px;letter-spacing:.3px;line-height:1.7}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(min-width:1200px){main{padding-top:75px;padding-bottom:47px}.intro{padding-top:44px}}
@media(max-width:850px){.site-header{padding:23px 28px}main{gap:35px;padding:38px 27px}.intro{padding-top:23px}h1{font-size:90px}.lede{font-size:19px}.rule-list p{font-size:12px}.legend{gap:14px}.quiet-note{margin-top:22px}.control{padding:8px;font-size:11px}.control span{margin-right:3px}footer{margin:0 27px;padding:20px 0}.board-wrap{padding:12px}.mark{width:27px;height:27px;font-size:19px}}
@media(max-width:650px){.site-header{padding:19px 21px}.home{font-size:20px}.edition{font-size:8px;letter-spacing:1px}main{display:flex;flex-direction:column;gap:27px;padding:28px 21px 30px;max-width:530px}.intro{padding:0}.intro .eyebrow{font-size:9px}.intro h1{font-size:72px;letter-spacing:-4px;margin:10px 0 8px}.lede{font-size:17px;margin:0 0 20px}.lede br{display:none}.rule-list{max-width:none}.rule-list p{font-size:12px;margin-bottom:8px;padding-left:29px;line-height:1.65}.legend{border:0;margin:13px 0 0;padding:0;gap:24px}.quiet-note{display:none}.level-header{padding-top:23px;border-top:1px solid var(--line)}h2{font-size:26px;margin-top:9px}.level-note{margin-bottom:17px}.board-wrap{padding:13px}.control{padding:10px 12px;font-size:12px}.control span{margin-right:5px}.message:empty{min-height:0;margin:0}.keyboard-note{margin-top:14px}footer{margin:0 21px;font-size:9px;flex-wrap:wrap;gap:4px 20px;padding:18px 0 24px}.game{max-width:none;width:100%}.mark{width:29px;height:29px;font-size:20px}}
@media(max-width:360px){.site-header{padding:17px}.edition{font-size:7px;letter-spacing:.5px}main{padding:23px 17px}.intro h1{font-size:64px}.lede{font-size:16px}.rule-list p{font-size:11px}.level-picker select{max-width:121px;font-size:11px;padding:9px 5px}.level-header{gap:6px}h2{font-size:24px}.board-wrap{padding:9px}.board{gap:4px}.mark{width:24px;height:24px;font-size:17px}.controls{gap:5px}.control{padding:8px;font-size:11px}.control span{margin-right:3px}.progress-row{font-size:10px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}


/* Relax Games: shared night palette and clear interaction states. */
html,body{background:#17191b;color:#f2f3f4;color-scheme:dark}
select,option{color:#f2f3f4;background:#212528}
::selection{background:#42566b;color:#f2f3f4}
.cell{background:#292e32}.cell.visited{background:#30443a}.cell.possible{box-shadow:inset 0 0 0 1px #809c87}.cell.possible:hover{background:#374c3d}.cell.blocked{background:repeating-linear-gradient(135deg,#1c2022 0px,#1c2022 2px,#303638 2px,#303638 6px);border-color:#4c5456}.mark,.end .mark{background:#222a25;color:#c8e0d0}.visited .mark{background:#30443a}.cell.hinted{background:#4a3e2c;box-shadow:inset 0 0 0 3px #d6b88d}.small-button,.primary-button{background:#a9c8b6;color:#17191b}.small-button:hover,.primary-button:hover{background:#bfd5c7}.path-svg polyline{stroke:#a9c8b6}.start .mark{background:#a9c8b6}
