.path-main{max-width:620px;margin:24px auto;padding:0 16px}.path-game .board-card{padding:24px}.path-game .board-top h2{font-size:21px}.path-clue{background:#edf1df;border-radius:12px;padding:14px 16px;margin:12px 0}.path-clue strong{font-size:14px}.path-clue p{font-size:12px;color:var(--muted);margin:5px 0}.path-tools{display:flex;gap:18px;justify-content:space-between}.path-game .text-button{font-family:inherit;min-height:40px;font-size:12px}.path-rules{display:flex;align-items:center;justify-content:space-between;font-size:12px;color:var(--muted);margin:10px 0}.path-board{position:relative;background:#edf1df;border:1px solid var(--line);border-radius:16px;overflow:hidden;max-width:440px;margin:auto}#grid{display:grid;grid-template-columns:repeat(var(--path-size),1fr);touch-action:none;position:relative;z-index:1}.path-cell{aspect-ratio:1;display:grid;place-items:center;border:1px solid #d4dccb;background:transparent;color:var(--ink);cursor:pointer;padding:0;position:relative}.path-cell:focus-visible{outline:3px solid #c58844;outline-offset:-5px}.checkpoint{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:var(--surface);border:2px solid var(--green);font-family:Manrope,sans-serif;font-weight:800;font-size:19px;position:relative;z-index:2}.checkpoint.visited{background:var(--green);color:white}.path-dot{width:9px;height:9px;border-radius:50%;background:#cbd5be}.trail .path-dot{background:var(--green);width:14px;height:14px}.tip::after{content:'';position:absolute;inset:12%;border:2px solid var(--green);border-radius:12px}.nudged{box-shadow:inset 0 0 0 4px #c58844;background:#f4e5bd}#line{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}#line polyline{fill:none;stroke:var(--green);stroke-width:15;stroke-linecap:round;stroke-linejoin:round}#status{font-size:12px;line-height:1.6;min-height:38px;margin-bottom:0}.path-note{text-align:center;font-size:11px;color:var(--muted)}.path-victory{background:var(--lime);padding:18px;text-align:center;border-radius:14px;margin:14px 0;animation:path-arrive .5s ease both}.path-victory>span{font-size:30px}.path-victory h3{font-family:Manrope,sans-serif;font-size:26px;margin:3px 0}.path-victory p{font-size:12px;margin:6px 0}.path-victory:focus{outline:none}.won .trail{animation:path-light .6s var(--step) ease both}.won #line polyline{stroke:#6d963f;stroke-dasharray:1;stroke-dashoffset:1;animation:path-trace 1.4s ease forwards}.path-game .new-button{width:100%;margin-top:16px}.path-game dialog p{font-size:13px;line-height:1.7}.path-game dialog select{width:100%;padding:13px;border:1px solid var(--line);border-radius:9px;margin:12px 0}@keyframes path-light{from{background:#edf1df}to{background:#dceba580}}@keyframes path-trace{to{stroke-dashoffset:0}}@keyframes path-arrive{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@media(max-width:760px){.path-main{margin:0 auto}.path-game .board-card{padding:16px 12px}.path-game .board-top h2{font-size:16px}.path-tools{gap:8px}.checkpoint{width:32px;height:32px;font-size:17px}.path-clue{padding:12px}.path-game .text-button{font-size:11px}}@media(prefers-reduced-motion:reduce){.path-victory,.won .trail,.won #line polyline{animation:none}.won .trail{background:#dceba580}.won #line polyline{stroke-dashoffset:0}}
