:root{color-scheme:light;--ink:#163532;--muted:#62706a;--paper:#f7f4eb;--line:#dcded0;--green:#315f4e;--gold:#c69a51}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.5 system-ui,-apple-system,sans-serif}button,select{font:inherit}button,a,select{-webkit-tap-highlight-color:transparent}button,select{border:1px solid #c9cfc0;background:#fffdf7;color:var(--ink);border-radius:7px;padding:9px 13px}button{cursor:pointer;transition:background .15s}button:hover{background:#e9e9db}button:disabled{opacity:.4;cursor:default}button:focus-visible,a:focus-visible,select:focus-visible{outline:3px solid #dd9a36;outline-offset:3px}a{color:inherit;text-underline-offset:4px}header{display:flex;justify-content:space-between;align-items:center;padding:20px 5vw;border-bottom:1px solid var(--line);gap:20px}.brand{display:flex;gap:12px;align-items:center;text-decoration:none;font-weight:800;letter-spacing:.14em}.brand small{display:block;font-size:9px;letter-spacing:.13em;color:var(--muted)}.crest{font-size:40px;line-height:1}nav{display:flex;gap:22px;align-items:center;font-size:13px}nav button{border:0;background:none}main{max-width:1190px;margin:auto;padding:35px 30px}.intro{display:flex;justify-content:space-between;align-items:center;gap:30px;margin-bottom:28px}.eyebrow{font-size:10px;font-weight:800;letter-spacing:.18em;color:#7b6b49;margin:0 0 11px}h1{font:46px/1.1 Georgia,serif;letter-spacing:-.035em;margin:0 0 14px}h2{font:27px/1.15 Georgia,serif;margin:0 0 8px}.lede{color:var(--muted);max-width:600px;font-size:14px;margin:0}.scorecard{border:1px solid var(--line);border-radius:10px;min-width:190px;padding:24px;transform:rotate(2deg);background:#fffdf6}.scorecard span{font-size:9px;letter-spacing:.15em}.scorecard strong{display:block;font:27px Georgia,serif;margin:8px 0}.scorecard small{color:var(--muted);font-size:11px}.toolbar{display:flex;align-items:center;gap:8px;padding:12px 0 22px;border-top:1px solid var(--line);font-size:13px}.toolbar select{max-width:135px}.toolbar label{white-space:nowrap}.toolbar #puzzle-meta{margin-left:auto;color:var(--muted)}.game{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:38px}.boardtitle{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:15px}.boardtitle small{font-size:11px;color:var(--muted);display:block;margin-bottom:6px}.boardtitle h2{font-size:24px;margin:0}.boardtitle button{font-size:12px}.frame{background:#25453c;border-radius:8px;padding:11px;box-shadow:0 12px 25px #132b2220}#board{display:grid;grid-template-columns:repeat(8,1fr);aspect-ratio:1}.square{border:0;border-radius:0;padding:0;aspect-ratio:1;position:relative;display:flex;align-items:center;justify-content:center;font-size:clamp(28px,4vw,47px);line-height:1;font-family:Georgia,'Apple Symbols','Segoe UI Symbol',serif;background:#ebeedb;color:#142d28}.square.dark{background:#7e9d82}.square:hover{background:#e8cb8b}.square.selected{background:#eac36a;box-shadow:inset 0 0 0 3px #8c5c12}.square.dest:after{content:'';position:absolute;width:22%;height:22%;border-radius:50%;background:#173e3290;pointer-events:none}.square.dest.occupied:after{width:87%;height:87%;border:5px solid #dec178;background:transparent}.square.last{box-shadow:inset 0 0 0 3px #ac8a45}.square .piece{pointer-events:none}.square .whitepiece{color:#fffef1;text-shadow:1px 1px 0 #26392e,-1px -1px 0 #26392e,1px -1px 0 #26392e,-1px 1px 0 #26392e}.square .coord{position:absolute;font:8px system-ui;bottom:2px;right:3px;color:#19362c;opacity:.7}.boardfoot{display:flex;justify-content:space-between;margin:10px 0;font-size:11px;color:var(--muted)}.legal{display:flex;align-items:center;gap:7px;padding-top:13px;border-top:1px solid var(--line)}.legal label{font-size:11px;max-width:80px}.legal select{flex:1;min-width:0}.legal button{font-size:12px}.hintline{display:block;color:var(--muted);font-size:11px;margin-top:9px}.notebook{padding:23px;border:1px solid var(--line);border-radius:10px;background:#fffdf6;align-self:start;box-shadow:3px 4px 0 #e8e6d9}.notebook h2{font-size:29px}.sub{font-size:12px;color:var(--muted);margin:0 0 18px}.legend{display:flex;gap:6px;font-size:10px;margin-bottom:15px}.legend span{padding:4px 9px;border-radius:4px}.green{background:#326949;color:#fff}.yellow{background:#c9a34e;color:#252b21}.blue{background:#33687b;color:#fff}.grey{background:#dfe3db;color:#5f6964}#rows{display:grid;gap:7px}.guessrow{display:grid;grid-template-columns:repeat(5,1fr);gap:6px;border:0;background:none;padding:0;text-align:center;width:100%;border-radius:0}.guessrow:hover{background:none}.tile{border:1px solid #d6dccf;border-radius:6px;min-height:45px;display:flex;align-items:center;justify-content:center;position:relative;font-size:14px;font-weight:700}.tile.active{border:2px solid #b2914b;background:#f8f0db}.tile.pieceblue{border-bottom:5px solid #2985ac}.tile small{position:absolute;font-size:7px;bottom:1px;letter-spacing:.05em}#message{font-size:13px;min-height:42px;margin:18px 0 7px;font-weight:600}.actions{display:flex;gap:7px;flex-wrap:wrap}.actions button{font-size:12px;flex:1;white-space:nowrap}.primary{background:#1e4b3d;color:white;border-color:#1e4b3d}.primary:hover{background:#32664f}.support{display:flex;justify-content:space-between;margin-top:12px}.support button{font-size:11px;border:0;background:none;padding:5px 0;text-decoration:underline;text-underline-offset:3px}.fine{font-size:10px;color:var(--muted);margin:15px 0 0}#review{border-top:1px solid var(--line);margin-top:18px;padding-top:12px}#review h3{font:20px Georgia;margin:0}#solution{font-family:monospace;line-height:1.8}#review-label{font-size:12px}#nextcase{font-size:12px}footer{font-size:11px;color:var(--muted);border-top:1px solid var(--line);padding-top:20px;margin-top:35px}dialog{max-width:590px;width:calc(100% - 30px);border:1px solid #bdc7b3;border-radius:14px;background:var(--paper);color:var(--ink);padding:28px;box-shadow:0 30px 100px #0004}dialog::backdrop{background:#102c27b8;backdrop-filter:blur(4px)}dialog p,dialog li{font-size:13px}dialog li{margin:11px 0}dialog li b{display:inline-block;border-radius:3px;padding:1px 6px}.dialoghead{display:flex;justify-content:space-between;align-items:center;gap:10px}.dialoghead button{border:0;background:none;font-size:24px;padding:0 8px}#promotion-options{display:flex;gap:9px}#promotion-options button{font-size:32px}#rules ul{padding-left:18px}.source{max-width:850px}.source pre{white-space:pre-wrap;word-break:break-word;font-size:12px} @media(max-width:760px){header{padding:15px 18px}nav{gap:8px;font-size:10px}.brand{font-size:12px;gap:7px}.brand small{font-size:7px}.crest{font-size:30px}main{padding:25px 16px}.intro{gap:15px}h1{font-size:34px}.scorecard{display:none}.toolbar{flex-wrap:wrap;gap:6px}.toolbar #puzzle-meta{width:100%;margin:3px 0 0}.game{grid-template-columns:1fr;gap:25px}.square{font-size:clamp(25px,8vw,50px)}.boardpanel{max-width:510px;width:100%;margin:auto}.notebook{max-width:510px;width:100%;margin:auto;padding:18px}.legal label{max-width:none}.eyebrow{font-size:8px}.lede{font-size:12px}.toolbar button,.toolbar select{font-size:12px;padding:7px 9px}footer{line-height:1.8}.tile{min-height:44px}.actions button{padding:10px 8px}.notebook h2{font-size:27px}}@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
