.game-shell-stage{--ink:#292241;--muted:#777185;--line:#e5dfeb;--purple:#6b46c7;--soft:#f0e9fc;background:#f7f4fa;color:var(--ink);padding:22px}
.game-shell-icon{color:#6b46c7;background:#eee6fb;font-size:30px}.game-shell-actions:empty{display:none}
.sumvoy-card{width:100%;max-width:600px;height:700px;margin:auto;padding:20px 26px 22px;border:1px solid var(--line);border-radius:20px;background:#fff;display:grid;grid-template-rows:72px minmax(0,1fr);gap:13px}
.mode-row{position:relative;display:flex;justify-content:center;align-items:center;min-height:39px}.mode-switch{display:flex;background:#f1edf6;padding:3px;gap:3px;border-radius:11px}.mode-switch button{border:0;background:none;font-size:12px;font-weight:600;border-radius:8px;padding:7px 14px;color:var(--muted)}.mode-switch button[aria-pressed=true]{background:#fff;box-shadow:0 2px 5px #35235310;color:var(--purple)}.game-tools{position:absolute;right:0;display:flex;gap:5px}.game-tools button{width:32px;height:32px;border:1px solid var(--line);border-radius:9px;background:#fcfbfe;font-weight:600;font-size:16px;display:grid;place-items:center}.game-tools svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}.puzzle-meta{display:flex;justify-content:space-between;gap:8px;margin-top:10px;font-size:10px;color:var(--muted);font-variant-numeric:tabular-nums}.puzzle-meta #countdown{color:#6b46c7;font-weight:600;white-space:nowrap}
#play-view{display:grid;grid-template-rows:28px 76px minmax(0,1fr) 28px 44px 42px;gap:9px;min-height:0}.play-title{display:flex;align-items:center;justify-content:space-between}.play-title h2{font-size:23px;letter-spacing:-.7px}.play-title>span{font-size:12px;color:var(--muted)}.sum-display{display:flex;align-items:center;gap:18px;background:#faf8fd;border:1px solid #f0ebf6;border-radius:13px;padding:10px 17px}.sum-stat,.target-stat{display:flex;flex-direction:column;line-height:1.1;min-width:68px}.sum-display span{font-size:9px;letter-spacing:.8px;font-weight:600;color:var(--muted)}.sum-display strong{font-size:33px;font-family:'Inter Tight',Inter,sans-serif;font-weight:800;margin-top:4px;font-variant-numeric:tabular-nums}.sum-display .sum-arrow{font-size:24px;color:#b2a4c9;flex:1}.target-stat strong{color:var(--purple)}.moves-stat{border-left:1px solid var(--line);padding-left:18px;display:flex;align-items:center;gap:7px;flex-direction:column}.moves-stat strong{font-size:23px}.moves-stat span{font-size:8px}#sum-meter[data-tone=over] strong{color:#b95638}#sum-meter[data-tone=exact] strong{color:#4c8870}
.board-wrap{width:100%;max-width:300px;aspect-ratio:1;position:relative;align-self:center;justify-self:center;min-height:0}.number-board{position:absolute;inset:0;display:grid;grid-template-columns:repeat(4,1fr);grid-template-rows:repeat(4,1fr);gap:10px;touch-action:none;user-select:none}.number-cell{position:relative;display:flex;align-items:center;justify-content:center;font-family:'Inter Tight',Inter,sans-serif;font-weight:700;font-size:26px;border:1px solid #e5dfeb;border-radius:14px;background:#fbfafc;color:#494056;line-height:1;padding:0;transition:background .12s,border-color .12s;z-index:1}.number-cell:hover{border-color:#b9a5df}.number-cell.selected{background:#ede4fd;border-color:#bba4e6;color:#5f39b6}.number-cell.head{box-shadow:0 0 0 2px #6b46c7;border-color:#6b46c7}.number-cell.start.selected{background:#6b46c7;border-color:#6b46c7;color:white}.number-cell.finish{background:#fff0dc;border-color:#e8c594;color:#8a5b22}.number-cell.finish.selected{background:#6b46c7;color:white;border-color:#6b46c7}.number-cell small{position:absolute;bottom:6px;font-family:Inter,Arial,sans-serif;font-size:7px;letter-spacing:.7px}.number-cell.start>span,.number-cell.finish>span{transform:translateY(-4px)}.route-overlay{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:0}.route-overlay polyline{fill:none;stroke:#c7afea;stroke-width:13;stroke-linecap:round;stroke-linejoin:round}
.board-caption{display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:11px;color:var(--muted)}.board-caption button{border:0;background:none;font-size:10px;color:#6b46c7;text-decoration:underline;text-underline-offset:3px;padding:4px 0}.route-actions{display:flex;gap:8px}.primary,.secondary{display:inline-flex;align-items:center;justify-content:center;border-radius:11px;font-size:12px;font-weight:600;min-height:42px;padding:10px 15px;line-height:1.3}.primary{background:#6b46c7;color:white;border:1px solid #6b46c7}.primary:hover{background:#5835ae}.secondary{background:#fff;border:1px solid var(--line);color:var(--ink)}.secondary:hover{background:#f6f1fc}.route-actions .primary{margin-left:auto;flex:1;max-width:190px}.route-actions .secondary{gap:6px}.route-status{font-size:11px;line-height:1.6;text-align:center;color:var(--muted);padding:2px 6px;align-self:center;min-height:35px}.game-footnote{text-align:center;font-size:10px;color:var(--muted);margin-top:13px;line-height:1.6;min-height:16px}
#results{align-self:center;text-align:center;min-height:0}.finish-symbol{display:grid;place-items:center;width:52px;height:52px;border-radius:16px;background:#f0e9fc;color:#6b46c7;font-size:37px;margin:0 auto 14px}.eyebrow{font-size:10px;font-weight:600;letter-spacing:1.5px;color:#84768f}#result-title{font-size:30px;margin-top:9px}.big-result{display:flex;flex-direction:column;margin:20px 0 14px}.big-result strong{font-size:80px;letter-spacing:-4px;line-height:1.1;font-family:'Inter Tight',Inter,sans-serif;font-weight:800}.big-result span,#result-detail{font-size:12px;color:var(--muted)}.result-actions{display:flex;gap:8px;margin-top:24px}.result-actions button{flex:1}.text-action{border:0;background:none;text-decoration:underline;text-underline-offset:4px;font-size:12px;color:#6b46c7;padding:10px}.reset-card{display:flex;align-items:center;justify-content:space-between;text-align:left;background:#f0e9fc;border:1px solid #ded0f4;border-radius:12px;padding:13px 16px;margin-top:18px;color:#6340b3}.reset-card>span{font-size:12px;font-weight:600}.reset-card small{display:block;font-size:9px;font-weight:400;margin-top:3px}.reset-card strong{font-size:28px;line-height:1.2;font-variant-numeric:tabular-nums}.reset-card~div{margin-top:8px}#share-text{width:100%;border:1px solid #ddd2ed;border-radius:8px;padding:6px;font-size:11px;resize:none}#share-fallback label{font-size:11px}
.game-page-heading{max-width:none;margin-top:28px}.breadcrumbs{display:flex;gap:9px;flex-wrap:wrap;font-size:12px;color:var(--muted);margin-bottom:13px}.game-page-heading h1{font-size:32px}.article-section{margin-top:30px;padding-top:30px;border-top:1px solid var(--line)}.article-section p{font-size:16px;color:var(--muted);line-height:1.85;margin-top:14px}.rules-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:22px}.rules-grid article{padding:20px;background:#eef0e7;border-radius:14px}.rules-grid article>span{font-size:11px;font-weight:600;color:#78866a}.rules-grid h3{font-size:21px;margin-top:9px}.rules-grid p{font-size:14px;line-height:1.75;margin-top:10px}.inline-link{display:inline-flex;margin:18px 24px 0 0;font-size:14px;font-weight:600;text-decoration:underline;text-underline-offset:4px}.more-games{padding-bottom:36px}.site-footer{border-top:1px solid var(--line);padding:24px 0;display:flex;align-items:center;justify-content:space-between;gap:20px}.site-footer p{font-size:11px;color:var(--muted)}
dialog{width:calc(100% - 36px);max-width:470px;border:1px solid #ded5ea;border-radius:20px;background:#fcfbfe;color:#292241;padding:30px;box-shadow:0 20px 80px #29224133}dialog::backdrop{background:#29224177;backdrop-filter:blur(4px)}dialog h2{font-size:27px;padding-right:14px}dialog p{font-size:14px;line-height:1.8;color:#777185;margin-top:15px}#close-dialog{position:absolute;right:14px;top:9px;border:0;background:none;font-size:26px}#dialog-copy>.primary{margin-top:20px}.stats-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:18px}.stats-grid>div{background:#f0e9fc;border-radius:11px;padding:15px}.stats-grid strong{display:block;font-size:30px}.stats-grid span{font-size:11px;color:#777185}
@media(max-width:760px){.sumvoy-card{height:680px;padding:16px 13px;grid-template-rows:72px minmax(0,1fr);gap:10px;border-radius:16px}.game-shell-stage{padding:14px 10px}.mode-switch button{padding:7px 10px;font-size:11px}.game-tools{gap:4px}.game-tools button{width:29px;height:30px}.puzzle-meta{font-size:9px}.game-shell-label{max-width:190px}.play-title h2{font-size:21px}#play-view{grid-template-rows:27px 70px minmax(0,1fr) 28px 42px 43px;gap:9px}.board-wrap{max-width:280px}.number-board{gap:8px}.number-cell{font-size:24px;border-radius:12px}.number-cell small{font-size:6px;bottom:5px}.sum-display{padding:10px 12px;gap:11px}.sum-stat,.target-stat{min-width:55px}.moves-stat{padding-left:13px}.board-caption{font-size:10px}.board-caption button{font-size:9px}.route-actions .secondary{padding:9px 10px;font-size:11px}.route-actions .primary{font-size:11px;padding:9px 11px}.route-status{font-size:10px}.game-page-heading h1{font-size:28px}.rules-grid{grid-template-columns:1fr;gap:12px}.article-section h2{font-size:26px}.article-section p{font-size:15px}.site-footer{flex-wrap:wrap}.reset-card{padding:12px}.reset-card strong{font-size:25px}.reset-card>span{font-size:11px}#result-title{font-size:27px}}
@media(max-width:360px){.mode-switch button{padding:7px 4px;font-size:10px}.game-tools button{width:26px}.sum-display{gap:8px}.moves-stat{padding-left:9px}.sum-stat,.target-stat{min-width:49px}.number-board{gap:6px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}

#result-copy{display:block;width:100%;margin-top:14px;padding:12px;border:1px solid #ded5ea;border-radius:10px;background:white;color:#292241;font-size:13px;line-height:1.6;resize:none}
