.dp{color:var(--ink);font:inherit}.dp *{box-sizing:border-box}.dp button,.dp select{font:inherit;color:inherit}.dp button{cursor:pointer;touch-action:manipulation}.dp button:disabled{opacity:.4;cursor:default}.dp button:focus-visible,.dp select:focus-visible,.dp summary:focus-visible{outline:3px solid var(--accent);outline-offset:3px;z-index:4}.dp-tabs{border-bottom:1px solid #202f4533;gap:8px;margin-bottom:34px;display:flex}.dp-tabs button{background:0 0;border:0;border-bottom:3px solid #0000;min-height:55px;padding:13px 21px;font-size:14px}.dp-tabs strong{margin-left:13px;font-size:17px}.dp-tabs [aria-pressed=true]{border-color:var(--accent);color:var(--accent)}.dp-layout{grid-template-columns:minmax(0,1fr) minmax(260px,.8fr);align-items:start;gap:55px;display:grid}.dp-play{width:100%;min-width:0;max-width:495px}.dp-top{justify-content:space-between;align-items:center;gap:13px;margin-bottom:21px;font-size:14px;display:flex}.dp-top label{align-items:center;gap:8px;min-width:0;display:flex}.dp select{background:0 0;border:0;border-bottom:1px solid #202f4555;min-width:0;max-width:100%;min-height:44px;padding:8px 0}.dp [data-role=timer]{font-variant-numeric:tabular-nums;white-space:nowrap;font-size:21px}.dp-board{grid-template-columns:repeat(var(--size),1fr);border:2px solid var(--ink);aspect-ratio:1;-webkit-user-select:none;user-select:none;background:#fff;display:grid;position:relative}.dp-cell{aspect-ratio:1;background:#fff;border:1px solid #202f4540;border-top:0;border-left:0;justify-content:center;align-items:center;min-width:0;min-height:0;padding:0;font-size:clamp(17px,2.7vw,25px);line-height:1.15;display:flex;position:relative}.dp-path{touch-action:none}.dp-path .dp-cell{touch-action:none;overflow:visible}.dp-cell.visited{background:#eee0d7}.dp-station{background:var(--ink);color:#fff;z-index:2;border-radius:50%;justify-content:center;align-items:center;width:55%;max-width:44px;height:55%;max-height:44px;font-size:20px;font-weight:650;display:flex}.visited .dp-station{background:var(--accent)}.dp-dot{z-index:1;background:#202f4530;border-radius:50%;width:8px;height:8px}.visited .dp-dot{background:var(--accent)}.dp-line{background:var(--accent);z-index:1;position:absolute}.dp-line.left,.dp-line.right{width:calc(50% + 1px);height:5px;top:calc(50% - 2.5px)}.dp-line.left{left:-1px}.dp-line.right{right:-1px}.dp-line.up,.dp-line.down{width:5px;height:calc(50% + 1px);left:calc(50% - 2.5px)}.dp-line.up{top:-1px}.dp-line.down{bottom:-1px}.dp-cell.tip{box-shadow:inset 0 0 0 3px var(--accent)}.dp-cell.selected{box-shadow:inset 0 0 0 2px var(--ink);background:#dfe6ef}.dp-sudoku .dp-cell{color:var(--accent);font-weight:650}.dp-cell.given{color:var(--ink);background:#f0efec;font-weight:750}.dp-cell.notes{word-spacing:2px;white-space:normal;padding:2px;font-size:clamp(9px,1.4vw,13px);font-weight:400;line-height:1.5}.dp-cell.conflict{color:#9c2418;background:#fae1dc;text-decoration:underline 3px}.dp-cell.hint{outline:4px dashed var(--accent);outline-offset:-5px;z-index:3}.dp-progress{color:#42516a;margin-top:13px;font-size:13px}.dp-aside{padding-top:8px}.dp-kicker{color:var(--accent);text-transform:uppercase;letter-spacing:.1em;margin:0 0 13px;font-size:12px;font-weight:700}.dp h2{letter-spacing:-.03em;margin:0 0 21px;font-size:32px;line-height:1.2}.dp p{margin:0 0 21px;line-height:1.65}.dp-actions{flex-wrap:wrap;gap:8px;margin:21px 0;display:flex}.dp-actions button,.dp [data-role=reveal],.dp-confirm button{background:0 0;border:1px solid #202f4555;min-height:44px;padding:8px 13px;font-size:14px}.dp-actions button:first-child{background:var(--ink);color:#fff}.dp-feedback{border-left:3px solid var(--accent);background:#fff9;min-height:89px;margin:21px 0 13px;padding:21px;font-size:15px;line-height:1.65}.dp [data-role=reveal]{margin-bottom:21px}.dp details{border-top:1px solid #202f4533;margin-top:21px;font-size:14px}.dp summary{cursor:pointer;min-height:44px;padding:13px 0}.dp-footnote{color:#42516a;font-size:12px;margin-top:21px!important}.dp-keypad{grid-template-columns:repeat(9,1fr);gap:5px;margin-top:21px;display:grid}.dp-keypad button{background:#fff;border:1px solid #202f4555;min-height:44px;padding:0;font-size:18px}.dp-keypad .dp-wide{grid-column:span 4;margin-top:3px;font-size:14px}.dp-keypad [aria-pressed=true]{background:var(--ink);color:#fff}.dp-confirm{border:2px solid var(--accent);margin-top:21px;padding:21px}.dp-confirm button+button{margin-left:13px}.dp [hidden]{display:none!important}.dp-solved .dp-board,.dp-solved .dp-feedback{border-color:#416a42}@media (width<=767px){.dp-layout{grid-template-columns:minmax(0,1fr);gap:34px}.dp-play{max-width:495px;margin:auto}.dp-tabs{margin-bottom:21px}.dp-tabs button{padding:8px 13px}.dp-top{margin-bottom:13px}.dp h2{font-size:28px}.dp-aside{padding-top:0}.dp-cell{font-size:22px}.dp-cell.notes{font-size:10px}.dp-keypad{grid-template-columns:repeat(5,1fr);gap:8px}.dp-keypad .dp-wide{grid-column:span 2}.dp-station{font-size:19px}.dp-keypad button{min-height:44px}}@media (prefers-reduced-motion:reduce){.dp *{scroll-behavior:auto}}.dp-sudoku .dp-cell:nth-child(3n){border-right-color:var(--ink)}.dp-sudoku .dp-cell:nth-child(n+19):nth-child(-n+27),.dp-sudoku .dp-cell:nth-child(n+46):nth-child(-n+54){border-bottom-color:var(--ink)}
