:root{color-scheme:dark;--bg:#100d0f;--panel:#1a1418;--text:#f4ece6;--muted:#afa2a7;--line:#382a30;--red:#e54d5d;--gold:#e6b481;--focus:#ffe4a8;font-family:Segoe UI,Arial,sans-serif;font-size:16px}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 50% 0,#2b151d 0,transparent 58%),var(--bg);color:var(--text);min-height:100vh}a{color:inherit;text-decoration:none}button,select{font:inherit;color:inherit}button,summary,select{touch-action:manipulation}button{cursor:pointer;border:1px solid #514047;border-radius:9px;background:#2a2026;min-height:44px;padding:10px 14px;transition:background .15s,transform .15s}button:hover:not(:disabled){background:#3d2932;border-color:#86606e}button:active:not(:disabled){transform:translateY(1px)}button:disabled{opacity:.35;cursor:default}.primary{background:#b82c43;border-color:#df5066;color:#fff}.primary:hover:not(:disabled){background:#d13a52}:focus-visible{outline:3px solid var(--focus);outline-offset:3px}select{width:100%;border:1px solid #59404b;border-radius:8px;background:#261c22;padding:11px 34px 11px 12px;min-height:45px;cursor:pointer}option{background:#241b21}label{font-size:.8rem;color:#d2c1c7;display:block;margin:18px 0 7px;font-weight:600}h1,h2,h3,p{margin:0}.site-header{max-width:1250px;margin:auto;padding:23px 34px 19px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{font-weight:700;font-size:20px;letter-spacing:-.7px}.brand em{font-weight:500;color:#ed6b78}.brand span{font-size:9px;letter-spacing:2.8px;display:block;margin-top:3px;font-weight:500}.back-link{font-size:13px;color:#c8b6bd;padding:10px 0}.back-link:hover{color:white}main{max-width:1210px;margin:auto;padding:30px 30px 16px}.masthead{display:flex;justify-content:space-between;align-items:center;margin-bottom:26px}.eyebrow{font-size:10px;letter-spacing:3.2px;color:#cd8491;margin-bottom:9px}h1{font-family:Georgia,serif;font-weight:400;letter-spacing:-1.5px;font-size:48px;line-height:1.05}.title-dot{color:var(--red)}.subtitle{font-family:Georgia,serif;font-size:20px;color:#c4aeb5;margin-top:8px;font-style:italic}.help-button{background:transparent;border-color:#4b303b;font-size:14px}.game-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:24px;align-items:start}.play-panel{border:1px solid #50313e;border-radius:20px;background:linear-gradient(145deg,#251923,#181215);box-shadow:0 20px 60px #0005;overflow:hidden;padding:25px}.board-heading{display:flex;align-items:center;justify-content:space-between;gap:8px}.difficulty{font-size:9px;letter-spacing:1.8px;font-weight:bold;color:#e2b58e;border:1px solid #71503e;border-radius:4px;display:inline-block;padding:4px 7px;margin-bottom:7px}.difficulty[data-level="Hard"]{color:#ff99a6;border-color:#9b4356}.difficulty[data-level="Normal"]{color:#d0b2f4;border-color:#6e507e}h2{font-size:21px;font-weight:600;letter-spacing:-.4px}#puzzleName{font-size:12px;color:var(--muted);margin-top:5px}.counters{display:flex;gap:23px;text-align:center}.counters strong{display:block;font-size:32px;font-weight:500;font-variant-numeric:tabular-nums;line-height:1.1}.counters span{font-size:8px;letter-spacing:1.3px;color:#bca5af;white-space:nowrap}.objective{font-size:12px;color:#dfc6cb;display:flex;align-items:center;gap:8px;margin-top:18px}.objective-dot{background:#e46a7b;width:6px;height:6px;border-radius:50%;flex-shrink:0}#assistBadge{margin-left:auto;font-size:10px;color:#eac692;white-space:nowrap}.board-stage{container-type:size;position:relative;margin:16px auto 9px;width:min(100%,470px);aspect-ratio:1;background:radial-gradient(circle at 48% 25%,#6b3c40,#44272d 58%,#321f26);border:7px solid #38232b;border-radius:25%;box-shadow:inset 0 0 0 2px #98606a40,inset 0 0 26px #0009,0 13px 25px #0006;display:flex;align-items:center;justify-content:center}.board-stage:before{content:"";position:absolute;inset:10px;border:1px solid #c77e6c24;border-radius:24%;pointer-events:none}.board-grid{width:90%;height:90%;position:relative}.hole{position:absolute;width:var(--cell);height:var(--cell);transform:translate(-50%,-50%);background:transparent;border:0;border-radius:50%;padding:0;min-height:0;isolation:isolate;display:flex;align-items:center;justify-content:center;-webkit-tap-highlight-color:transparent}.hole:active:not(:disabled){transform:translate(-50%,-50%)}.hole:hover:not(:disabled){background:transparent;border:0}.hole:focus-visible{outline:2px solid var(--focus);outline-offset:-1px}.well{width:70%;height:70%;border-radius:50%;background:radial-gradient(circle at 50% 45%,#0a080a 0,#1d1218 67%,#7b4853 73%,#3a2028 80%);box-shadow:inset 0 3px 7px #0009,0 1px 1px #b57d6540;position:relative;display:flex;align-items:center;justify-content:center}.occupied .well:after{content:"";position:absolute;inset:2%;border-radius:50%;background:radial-gradient(circle at 34% 22%,#fff8df 0,#f1d0aa 20%,#d49a6d 60%,#854d3d 86%,#5c342e 100%);box-shadow:inset 0 -3px 3px #4e251b70,inset 0 1px 2px #fff6,0 5px 5px #0008;transition:transform .15s}.occupied:hover .well:after{filter:brightness(1.12)}.selected .well:after{outline:3px solid #ffb5b8;outline-offset:3px;transform:translateY(-3px)}.destination .well{box-shadow:0 0 0 2px #f09d9b,0 0 16px #ff587260}.destination .well:after{content:"+";color:#ffd7d5;font-size:clamp(18px,6cqw,30px);line-height:1}.target .well:before{content:"★";position:absolute;color:#f7bd65;font-size:clamp(15px,4.5cqw,26px);z-index:3;text-shadow:0 1px 3px #000}.target.occupied .well:before{color:#572a24;text-shadow:none}.hint-source .well{outline:3px dashed #fff0af;outline-offset:3px}.hint-destination .well{outline:3px dashed #fff0af;outline-offset:3px}.jumped .well:after{animation:land .25s ease-out}@keyframes land{0%{transform:scale(.78)}65%{transform:scale(1.08)}100%{transform:scale(1)}}.status{min-height:43px;font-size:13px;line-height:1.5;text-align:center;display:flex;align-items:center;justify-content:center;color:#d2bfc5;padding:4px 5px;margin-bottom:9px}.status[data-kind="won"]{color:#ffdaa5;font-weight:600}.status[data-kind="dead-end"],.status[data-kind="wrong-target"]{color:#ffadb8}.toolbar{display:flex;gap:7px;justify-content:center;flex-wrap:wrap}.toolbar button{font-size:12px;flex:1;white-space:nowrap;padding:10px 6px;min-width:70px}.toolbar button span{font-size:17px;vertical-align:middle;margin-right:3px}.toolbar #newButton{flex:1.45}.board-caption{display:flex;justify-content:center;gap:16px;font-size:10px;color:#ad949e;margin-top:20px}.board-caption span{display:flex;gap:5px;align-items:center}.board-caption i{display:inline-block;width:10px;height:10px;border-radius:50%}.legend-peg{background:#e1b286}.legend-hole{background:#0f0b0d;border:1px solid #976372}.legend-destination{border:1px solid #e4a2a3;color:#ffd2d2;line-height:7px;text-align:center;font-style:normal}details{border:1px solid var(--line);border-radius:13px;background:#191318;overflow:hidden}summary{list-style:none;cursor:pointer;padding:20px;font-size:13px;display:block}summary::-webkit-details-marker{display:none}summary>span:first-child{font-size:9px;color:#ba7b89;letter-spacing:2px;display:block;margin-bottom:9px}summary strong{font-size:17px;font-weight:500;display:flex;justify-content:space-between;align-items:center}summary strong span{color:#b28493}.details-content{padding:0 20px 22px}.details-content>label:first-child{margin-top:0}.muted{color:var(--muted);line-height:1.5}#boardDescription{font-size:12px;margin-top:10px;min-height:36px}.small{font-size:12px;line-height:1.6}#challengeInfo{margin-top:12px}.collection-progress{margin-top:23px;border-top:1px solid var(--line);padding-top:18px;font-size:11px;color:#c4aab5}.progress-track{margin-top:9px;height:4px;background:#35252e;border-radius:9px;overflow:hidden}.progress-track span{display:block;height:100%;background:#e25c72;width:0;transition:width .3s}.quick-tip{display:flex;gap:12px;padding:23px 8px}.tip-icon{color:#d4a071;font-size:22px}.quick-tip h3{font-family:Georgia,serif;font-weight:400;font-size:17px;margin-bottom:7px}.quick-tip p{font-size:12px;line-height:1.7;color:#b59fa9}.settings summary{padding:17px;font-size:12px;display:flex;justify-content:space-between}.settings h3{font-size:13px;margin-top:14px}.check{display:flex;align-items:center;gap:9px;font-weight:400;font-size:12px;margin:12px 0}.check input{accent-color:#e35e76;width:18px;height:18px}.settings p{margin-top:12px}.aside-footer{font-size:11px;line-height:2;text-align:center;color:#b28c99;margin:20px 0}.aside-footer span{color:#856b75}.page-footer{text-align:center;color:#927781;font-size:11px;padding:25px 0 10px}.page-footer span{margin:0 9px}dialog{background:#21171e;color:var(--text);border:1px solid #825264;border-radius:17px;max-width:490px;width:calc(100% - 28px);padding:27px;box-shadow:0 25px 100px #000a}dialog::backdrop{background:#070407cc;backdrop-filter:blur(5px)}dialog h2{font-family:Georgia,serif;font-size:28px;font-weight:400;margin-bottom:13px}dialog p,dialog li{color:#d7c0ca;font-size:14px;line-height:1.7}dialog ol{padding-left:22px}dialog p+p{margin-top:12px}.dialog-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:24px}.dialog-actions button{font-size:13px}.noscript{padding:30px;text-align:center}.strong-outlines .occupied .well:after{outline:2px solid #fff3de;outline-offset:0}.strong-outlines .destination .well{outline:3px solid white}.reduce-motion *{animation:none!important;transition:none!important}.record{border-top:1px solid var(--line);margin-top:10px;padding-top:8px}.record strong{font-size:12px;display:block}#puzzleRecords{color:#c5aeb9}
@media(min-width:1500px){main{padding-top:40px}.masthead{margin-bottom:32px}.board-stage{width:470px}}
@media(max-width:900px){.game-layout{grid-template-columns:minmax(0,1fr) 270px;gap:16px}.play-panel{padding:18px}main{padding:25px 20px 10px}.counters{gap:14px}.toolbar button{min-width:65px}.toolbar #newButton{min-width:100px}}
@media(max-width:700px){.site-header{padding:11px 15px 9px}.brand{font-size:17px}.brand span{font-size:7px;letter-spacing:2px}.back-link{font-size:11px;padding:9px 0}main{padding:13px 12px max(10px,env(safe-area-inset-bottom))}.masthead{margin-bottom:12px;align-items:center}.eyebrow{display:none}h1{font-size:32px;letter-spacing:-1px}.subtitle{font-size:15px;margin-top:3px}.help-button{font-size:12px;padding:8px 10px;min-height:38px}.help-button span{display:none}.game-layout{display:flex;flex-direction:column;gap:12px}.play-panel{width:100%;padding:15px 12px 13px;border-radius:14px}.board-heading h2{font-size:18px}.difficulty{font-size:8px;padding:3px 5px;margin-bottom:5px}#puzzleName{font-size:11px;margin-top:3px}.counters{gap:14px}.counters strong{font-size:27px}.counters span{font-size:7px;letter-spacing:.8px}.objective{font-size:11px;margin-top:12px}.board-stage{width:min(100%,calc(100dvh - 354px));min-width:235px;margin-top:13px;margin-bottom:7px;border-width:5px}.status{font-size:12px;min-height:39px;margin-bottom:6px;padding:3px 1px}.toolbar{gap:5px}.toolbar button{font-size:10px;min-width:0;min-height:43px;padding:8px 2px}.toolbar button span{font-size:16px;margin-right:1px}.toolbar #newButton{min-width:0;flex:1.45}.board-caption{margin-top:12px;gap:13px;font-size:9px}.side-panel{width:100%}.collection summary{padding:13px 15px}.collection summary>span:first-child{display:none}.collection summary strong{font-size:14px}.collection .details-content{padding:3px 15px 17px}.collection label{margin-top:12px}.collection-progress{margin-top:13px;padding-top:13px}.quick-tip,.aside-footer{display:none}.settings{margin-top:10px}.page-footer{padding:17px 0 5px;font-size:10px}.settings summary{padding:13px 15px}.hole{min-height:0}.board-stage:before{inset:6px}.details-content{padding:0 15px 15px}}
@media(max-width:700px) and (max-height:680px){.site-header{padding-top:6px;padding-bottom:5px}.masthead{margin-bottom:8px}main{padding-top:9px}h1{font-size:28px}.subtitle{font-size:13px}.play-panel{padding-top:11px}.board-stage{min-width:210px;width:min(100%,calc(100dvh - 335px));margin-top:9px}.board-caption{display:none}.status{min-height:35px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}

@media(max-width:700px){.board-stage.dense{width:100%;max-width:390px}}
