html{background-color:#0f172a}body{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;background-color:#0f172a;color:#f8fafc;margin:0;padding:8px 10px 6px;box-sizing:border-box;display:flex;flex-direction:column;min-height:100vh;min-height:100dvh}.main-content-center{flex:1;display:flex;flex-direction:column;width:100%}body.board-page-active .main-content-center{flex:none}.board-page-layout{width:100%;position:relative}.board-page-floor{display:none;position:absolute;left:0;right:0;border-top:1px solid #334155;pointer-events:none}@media (min-width:800px){.board-page-floor{display:block}}.game-dashboard-container{position:relative;text-align:center;width:100%;max-width:540px;margin:0 auto;display:flex;flex-direction:column}@media (max-width:799px){.game-dashboard-container{max-width:min(540px,max(380px,calc(100vh - 175px)));max-width:min(540px,max(380px,calc(100dvh - 175px)))}}@media (max-width:799px) and (min-height:620px){.game-dashboard-container{max-width:min(540px,max(380px,calc(100vh - 293px)));max-width:min(540px,max(380px,calc(100dvh - 293px)))}}#main-sudoku-board{order:1}#difficulty-card{order:2}#digit-legend-wrap{order:3}#stats-panel{order:4}@media (min-height:620px){#difficulty-card{order:1}#stats-panel{order:2}#main-sudoku-board{order:3}#digit-legend-wrap{order:4}}.side-pad-outer{display:none;width:190px;flex:none}.side-pad-outer-left,.side-pad-outer-right{gap:6px}.side-pad-inner{flex:1;display:flex;flex-direction:column}#normal-pad-left{display:flex;flex-direction:column;gap:6px}@media (min-width:800px){.board-page-layout{display:flex;justify-content:center;align-items:flex-start;gap:10px}.game-dashboard-container{margin:0;max-width:min(540px,max(380px,calc(100vh - 155px)));min-width:380px}.side-pad-outer{display:flex;flex-direction:column}}html.force-legacy-desktop-input .side-pad-outer{display:none}html.force-legacy-desktop-input .board-page-layout{display:block}.side-pad-group{background-color:#1e293b;border:1px solid #334155;border-radius:8px;padding:5px;box-sizing:border-box}.side-pad-label{display:block;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:0.04em;color:#94a3b8;text-align:center;margin-bottom:3px}.side-pad-grid{display:grid;gap:2px}.value-number-grid{grid-template-columns:repeat(3,max-content);justify-content:center}.value-number-btn{width:52px;height:52px;background-color:#1e293b;border:1px solid #334155;border-radius:5px;color:#f8fafc;font-size:24px;font-weight:700;display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0}.value-number-btn:hover{background-color:#334155}.side-pad-btn.side-pad-btn-hidden{visibility:hidden}.marks-frame-grid{grid-template-columns:repeat(4,max-content);justify-content:center;gap:4px}#marks-desktop-pad .marks-frame-grid{display:none}#marks-desktop-pad.marks-desktop-pad-numbers .marks-frame-grid{display:grid}.candidate-number-btn{position:relative;width:52px;height:52px;background-color:#1e293b;border:1px solid #334155;border-radius:5px;color:#f8fafc;font-size:22px;font-weight:700;display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0}.candidate-number-btn:hover{background-color:#334155}.candidate-number-btn .side-pad-pencil-badge{position:absolute;top:3px;right:3px;width:15px;height:15px;border-radius:50%;background-color:#f8fafc;box-shadow:0 0 0 1.5px #1e293b;display:flex;align-items:center;justify-content:center}.candidate-number-btn .side-pad-pencil-badge[hidden]{display:none}.candidate-number-btn .side-pad-pencil-badge svg{width:9px;height:9px;fill:#1e293b;stroke:#f8fafc;stroke-width:1}.side-pad-pencil-badge.side-pad-pencil-badge-colored svg{fill:#ffffff;stroke:#1e293b}.side-pad-btn.side-pad-btn-armed.value-number-btn,.side-pad-btn.side-pad-btn-armed.candidate-number-btn{background-color:#0d6efd;border-color:#0d6efd;color:#ffffff;box-shadow:0 0 0 3px rgba(13,110,253,0.35),0 0 10px 2px rgba(13,110,253,0.55)}.candidate-color-swatch{width:52px;height:52px;border:none;border-radius:5px;cursor:pointer;padding:0;display:flex;align-items:center;justify-content:center;position:relative;box-shadow:inset 0 0 0 2px rgba(255,255,255,0.35)}.candidate-color-swatch[data-pad-value="c0"]{box-shadow:inset 0 0 0 2px rgba(30,41,59,0.6)}.candidate-color-fill{width:100%;height:100%;margin:0;border-radius:inherit;display:block;pointer-events:none}.side-pad-swatch-key{position:absolute;bottom:3px;right:5px;font-size:11px;font-weight:700;color:rgba(255,255,255,0.9);text-shadow:0 1px 1px rgba(0,0,0,0.25);line-height:1;pointer-events:none}@media (min-width:800px){.candidate-number-btn{width:min(52px,max(36px,calc((100vh - 155px) * 52 / 540)));height:min(52px,max(36px,calc((100vh - 155px) * 52 / 540)))}.candidate-number-btn{font-size:min(22px,max(15px,calc((100vh - 155px) * 22 / 540)))}.value-number-btn,.candidate-color-swatch,.side-pad-clear-btn,#marks-desktop-pad .candidate-number-btn{width:min(48px,max(33px,calc((100vh - 155px) * 48 / 540)));height:min(48px,max(33px,calc((100vh - 155px) * 48 / 540)))}.value-number-btn{font-size:min(22px,max(16px,calc((100vh - 155px) * 22 / 540)))}.side-pad-clear-btn{font-size:min(11px,max(8px,calc((100vh - 155px) * 11 / 540)))}#marks-desktop-pad .candidate-number-btn{font-size:min(20px,max(14px,calc((100vh - 155px) * 20 / 540)))}}.side-pad-clear-btn{width:52px;height:52px;box-sizing:border-box;background-color:#1e293b;border:1px solid #334155;border-radius:5px;color:#f8fafc;font-size:11px;font-weight:700;font-family:inherit;display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0}.side-pad-clear-btn:hover{background-color:#334155}.side-pad-btn.side-pad-btn-armed.side-pad-swatch{box-shadow:0 0 0 3px #1e293b,0 0 0 5px #f8fafc;z-index:2}.game-dashboard-container h2{margin:0 0 14px;font-size:1.5rem;font-weight:700;color:#f8fafc}.difficulty-card{display:flex;flex-direction:column;justify-content:center}.difficulty-card.difficulty-card-active{min-height:92px;padding:10px 14px;box-sizing:border-box;background-color:#1e293b;border:1px solid #334155;border-radius:10px}@media (min-width:800px){.difficulty-card{display:none}}.stats-panel{margin:10px 0 8px;padding:10px 14px;box-sizing:border-box;background-color:#1e293b;border:1px solid #334155;border-radius:10px;font-weight:500;color:#94a3b8}@media (min-width:800px){.stats-panel{display:none}}.stats-rows{display:flex;flex-direction:column;gap:6px;text-align:left}.stats-row{display:flex;gap:16px}.stat-cell{flex:1;min-width:0;display:flex;align-items:baseline;justify-content:space-between;gap:8px}.stat-cell .fact-label .info-btn{margin-left:4px;vertical-align:middle}.fact-label-nowrap{white-space:nowrap}.stat-cell .fact-value{display:block;min-width:0;text-align:right}.label-time,.label-score,.label-mistakes,.label-mistake-limit,.label-hints-used,.label-hint-limit{font-variant-numeric:tabular-nums}.limit-unlimited{margin-right:4px}.timer-resume-toast{display:inline-block;overflow:hidden;white-space:nowrap;vertical-align:middle;max-width:0;margin-left:0;padding:2px 0;border-radius:10px;background-color:rgba(13,110,253,0.12);color:rgba(13,110,253,1);font-size:12px;font-weight:600;opacity:0;pointer-events:none;transition:opacity 0.25s ease,max-width 0.25s ease,margin-left 0.25s ease,padding 0.25s ease}.timer-resume-toast.timer-resume-toast-visible{opacity:1;max-width:160px;margin-left:6px;padding:2px 8px}.sudoku-grid-container{display:grid;grid-template-columns:repeat(9,1fr);grid-template-rows:repeat(9,1fr);width:100%;max-width:540px;aspect-ratio:1 / 1;gap:1px;background-color:#343a40;border:3px solid #212529;margin:0 auto;box-sizing:border-box;min-width:0;min-height:0;overflow:visible;box-shadow:0 8px 24px rgba(0,0,0,0.35)}.sudoku-grid-row{display:contents}.sudoku-cell{position:relative;aspect-ratio:1 / 1;background-color:#ffffff;overflow:visible;user-select:none;-webkit-touch-callout:none;-webkit-user-select:none;touch-action:manipulation}.sudoku-cell[data-col="2"],.sudoku-cell[data-col="5"]{border-right:2px solid #212529}.sudoku-cell[data-row="2"],.sudoku-cell[data-row="5"]{border-bottom:2px solid #212529}.sudoku-cell::after{content:"";position:absolute;inset:0;pointer-events:none;background-color:rgba(13,110,253,0);box-shadow:inset 0 0 0 0 rgba(13,110,253,0.85);transition:background-color var(--press-transition-duration,150ms) linear,box-shadow var(--press-transition-duration,150ms) linear;z-index:4}.sudoku-cell.cell-press-charging::after{background-color:rgba(13,110,253,0.25);box-shadow:inset 0 0 0 4px rgba(13,110,253,0.85)}.sudoku-cell.side-hover-cell-preview::after{background-color:rgba(13,110,253,0.18)}.sudoku-cell.side-hover-cell-preview .candidate-button{cursor:inherit}.candidate-button.side-hover-slot-preview{box-shadow:inset 0 0 0 2px rgba(13,110,253,0.7)}.sudoku-cell.cell-selected{box-shadow:inset 0 0 0 3px rgba(13,110,253,1)}.sudoku-cell.cell-selected::before{content:"";position:absolute;inset:0;pointer-events:none;background-color:rgba(13,110,253,0.06);z-index:4}.sudoku-cell.cell-peer,.sudoku-cell.cell-peer .cell-value-layer.cell-given{background-color:#f9eac2;transition:background-color 90ms ease}.sudoku-cell.cell-same-value,.sudoku-cell.cell-same-value .cell-value-layer.cell-given{background-color:#d48200;transition:background-color 90ms ease}#main-sudoku-board.legend-blink-off .sudoku-cell.cell-same-value,#main-sudoku-board.legend-blink-off .sudoku-cell.cell-same-value .cell-value-layer.cell-given{background-color:transparent}.sudoku-cell.cell-hint{animation:hintPulse 1.4s ease-in-out infinite}@keyframes hintPulse{0%,100%{box-shadow:inset 0 0 0 2px rgba(255,193,7,0.9)}50%{box-shadow:inset 0 0 0 4px rgba(255,193,7,0.5)}}.hint-support-ring{position:absolute;inset:2px;pointer-events:none;z-index:3;border:3px dashed #0891b2;box-sizing:border-box}.hint-elimination-x{position:absolute;inset:0;pointer-events:none;z-index:3}.hint-elimination-x svg{display:block;width:100%;height:100%;overflow:visible}.hint-elimination-x path{fill:none;stroke:#dc2626;stroke-width:2.4;stroke-linecap:round}.hint-pattern-circle{position:absolute;inset:0;pointer-events:none;z-index:3}.hint-pattern-circle svg{display:block;width:100%;height:100%;overflow:visible}.hint-pattern-circle path{fill:none;stroke:#ffc107;stroke-width:2.2;stroke-linecap:round}.cell-hint-flash-digit{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:clamp(18px,5vw,28px);font-weight:700;color:rgba(232,89,12,1);pointer-events:none;z-index:5;animation:hintFlash 1.6s ease-in-out both}@keyframes hintFlash{0%{opacity:0}20%{opacity:1}70%{opacity:1}100%{opacity:0}}@media (prefers-reduced-motion:reduce){.cell-hint-flash-digit{animation:none;opacity:0.9}}.candidate-button.cell-hint-flash-eliminate{animation:hintFlashEliminate 1.6s ease-in-out both}@keyframes hintFlashEliminate{0%,100%{background-color:transparent;text-decoration:none}20%,70%{background-color:rgba(220,38,38,0.35);text-decoration:line-through}}@media (prefers-reduced-motion:reduce){.candidate-button.cell-hint-flash-eliminate{animation:none;background-color:rgba(220,38,38,0.25);text-decoration:line-through}}.cell-value-layer{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:clamp(18px,6vw,26px);font-weight:bold;background:transparent;user-select:none}.cell-value-layer.cell-given{background-color:#e9ecef;color:#000000!important}.cell-value-layer.cell-user-correct{color:#0d6efd!important}.candidate-grid-layer{position:absolute;top:0;left:0;width:100%;height:100%;display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr);background:transparent}.candidate-button{position:relative;background:none;border:none;padding:0;margin:0;font-size:clamp(8px,2.2vw,11px);font-weight:bold;text-align:center;cursor:pointer;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;touch-action:manipulation;color:rgba(0,0,0,0);transition:color 0.2s ease,transform 0.12s ease}.candidate-button.candidate-possible{color:rgba(33,37,41,0.70)}.candidate-button.candidate-ghost{color:rgba(0,0,0,0)}.candidate-button.candidate-preview{color:rgba(13,110,253,0.55)!important}.candidate-button.candidate-blank{color:rgba(0,0,0,0)}@media (hover:hover) and (pointer:fine){.sudoku-cell:hover .candidate-button.candidate-ghost{color:rgba(33,37,41,0.22)}#main-sudoku-board.mode-auto .sudoku-cell:not(.cell-filled):hover .candidate-button.candidate-blank{color:rgba(33,37,41,0.22)}#main-sudoku-board.mode-auto .sudoku-cell.cell-peer:not(.cell-filled):hover .candidate-button.candidate-blank{color:rgba(33,37,41,0.4)}.sudoku-cell.cell-peer:hover .candidate-button.candidate-ghost,.sudoku-cell.cell-same-value:hover .candidate-button.candidate-ghost{color:rgba(33,37,41,0.4)}}#main-sudoku-board.mode-auto .sudoku-cell.cell-peer .candidate-button.candidate-ghost,#main-sudoku-board.mode-auto .sudoku-cell.cell-same-value .candidate-button.candidate-ghost{color:rgba(33,37,41,0.4)!important}.candidate-button.candidate-c1,.candidate-button.candidate-c2,.candidate-button.candidate-c3,.candidate-button.candidate-c4,.candidate-button.candidate-c5,.candidate-button.candidate-c6{font-weight:700;border-radius:2px}.global-keypad-overlay{position:absolute;box-sizing:border-box;left:0;width:100%;max-width:540px;height:clamp(200px,52vw,246px);display:none;grid-template-columns:repeat(6,1fr);grid-template-rows:repeat(3,1fr);background-color:#1e293b;border:2px solid #334155;border-radius:8px;box-shadow:0 4px 12px rgba(0,0,0,0.3);padding:4px;gap:4px;z-index:4;transform-origin:var(--keypad-anim-origin,center);opacity:1;transform:scale(1) translateY(0);transition:opacity 160ms ease,transform 160ms ease}.global-keypad-overlay.keypad-anim-start{opacity:0;transform:scale(0.85) translateY(var(--keypad-anim-offset,0px))}@media (prefers-reduced-motion:reduce){.global-keypad-overlay{transition:none}}.keypad-btn{position:relative;background-color:#1e293b;border:1px solid #334155;border-radius:5px;font-size:clamp(18px,5vw,22px);font-weight:bold;color:#f8fafc;cursor:pointer;display:flex;align-items:center;justify-content:center;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;touch-action:manipulation;min-width:44px;min-height:44px}.keypad-btn:hover{background-color:#334155}.keypad-btn.close-btn{background-color:#dc3545;color:#ffffff}.keypad-btn.hash-btn{color:#0d6efd;border-color:#0d6efd}.keypad-btn.num-btn.staged,.keypad-btn.hash-btn.staged{background-color:#0d6efd;color:#ffffff;border-color:#0d6efd;box-shadow:0 0 0 3px rgba(13,110,253,0.35),0 0 10px 2px rgba(13,110,253,0.55)}.keypad-btn.color-btn{border:none;box-shadow:inset 0 0 0 2px rgba(255,255,255,0.35)}.keypad-btn.color-btn.staged{box-shadow:0 0 0 3px #1e293b,0 0 0 5px #f8fafc}.keypad-btn.color-btn svg{width:20px;height:20px;fill:#ffffff;stroke:#1e293b;stroke-width:0.75}.keypad-btn.color-btn[data-color="c0"]{box-shadow:inset 0 0 0 2px rgba(30,41,59,0.6)}.keypad-btn.color-btn[data-color="c0"].staged{box-shadow:0 0 0 3px #1e293b,0 0 0 5px #f8fafc,inset 0 0 0 2px rgba(30,41,59,0.6)}.keypad-btn.num-btn .badge{position:absolute;top:3px;right:3px;width:15px;height:15px;border-radius:50%;box-shadow:0 0 0 1.5px #1e293b;display:flex;align-items:center;justify-content:center}.keypad-btn.num-btn .badge.mark-badge svg{width:9px;height:9px;fill:#ffffff;stroke:#1e293b;stroke-width:1}.keypad-btn.num-btn .digit.digit-blank-for-color{visibility:hidden}.keypad-btn.num-btn.num-btn-hidden{visibility:hidden}.digit-legend-wrap{width:100%;max-width:540px;margin:10px auto 0;box-sizing:border-box}.digit-legend-label{font-size:12px;color:#94a3b8;text-align:center;margin-bottom:4px}.digit-legend{display:grid;grid-template-columns:repeat(9,1fr);gap:4px;width:100%;box-sizing:border-box}.digit-legend-btn{position:relative;background-color:#1e293b;border:1px solid #334155;border-radius:5px;font-size:clamp(14px,3.6vw,18px);font-weight:bold;color:#f8fafc;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:38px;padding:3px 0;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;touch-action:manipulation}.digit-legend-btn:hover{background-color:#334155}.digit-legend-count{font-size:9px;font-weight:normal;color:#94a3b8;margin-top:1px}.digit-legend-btn.digit-legend-complete{opacity:0.35}.digit-legend-btn.digit-legend-active{background-color:#0d6efd;color:#ffffff;border-color:#0d6efd}.digit-legend-btn.digit-legend-active .digit-legend-count{color:rgba(255,255,255,0.85)}@keyframes errorWiggle{0%{transform:translateX(0)}25%{transform:translateX(-3px)}50%{transform:translateX(3px)}75%{transform:translateX(-3px)}100%{transform:translateX(0)}}.candidate-error-wiggle{animation:errorWiggle 0.12s ease-in-out infinite}@keyframes cellSolvedPop{0%{transform:scale(1);box-shadow:inset 0 0 0 0 rgba(25,135,84,0)}40%{transform:scale(1.12);box-shadow:inset 0 0 0 3px rgba(25,135,84,0.85)}100%{transform:scale(1);box-shadow:inset 0 0 0 0 rgba(25,135,84,0)}}.sudoku-cell.cell-solved-pop{animation:cellSolvedPop 0.5s ease var(--cell-pop-delay,0ms) both}.win-overlay{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;background-color:rgba(33,37,41,0);opacity:0;pointer-events:none;transition:opacity 0.25s ease,background-color 0.25s ease;z-index:10}.win-overlay.win-overlay-visible{opacity:1;background-color:rgba(33,37,41,0.45);pointer-events:auto}.win-card{background-color:#1e293b;border-radius:14px;padding:32px 28px;max-width:300px;text-align:center;box-shadow:0 12px 32px rgba(0,0,0,0.25);transform:scale(0.85) translateY(10px);transition:transform 0.25s ease}.win-overlay-visible .win-card{transform:scale(1) translateY(0)}.win-emoji{font-size:42px;line-height:1;margin-bottom:8px}.win-title{margin:0 0 6px;font-size:22px;color:#f8fafc}.win-subtitle{margin:0 0 20px;font-size:14px;color:#94a3b8}.win-streak{margin:-8px 0 20px;font-size:15px;font-weight:700;color:#b45309;background-color:#fef3c7;border-radius:999px;padding:0;max-height:0;overflow:hidden;opacity:0;transition:opacity 0.25s ease,padding 0.25s ease,max-height 0.25s ease,margin 0.25s ease}.win-streak.win-streak-visible{padding:6px 14px;max-height:40px;opacity:1}.win-assisted-note{margin:-8px 0 20px;font-size:12px;color:#94a3b8}.win-new-btn{background-color:#0d6efd;border:none;border-radius:8px;padding:10px 22px;font-size:15px;font-weight:600;color:#ffffff;cursor:pointer}.win-new-btn:hover{background-color:#0b5ed7}.win-daily-btn{background-color:#0d6efd;border:none;border-radius:8px;padding:10px 22px;font-size:15px;font-weight:600;color:#ffffff;cursor:pointer;display:block;margin:0 auto 10px}.win-daily-btn:hover{background-color:#0b5ed7}.win-daily-btn[hidden]{display:none}.mistake-limit-overlay{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;background-color:rgba(33,37,41,0);opacity:0;pointer-events:none;transition:opacity 0.25s ease,background-color 0.25s ease;z-index:10}.mistake-limit-overlay.mistake-limit-overlay-visible{opacity:1;background-color:rgba(33,37,41,0.45);pointer-events:auto}.mistake-limit-card{background-color:#1e293b;border-radius:14px;padding:32px 28px;max-width:300px;text-align:center;box-shadow:0 12px 32px rgba(0,0,0,0.25);transform:scale(0.85) translateY(10px);transition:transform 0.25s ease}.mistake-limit-overlay-visible .mistake-limit-card{transform:scale(1) translateY(0)}.mistake-limit-emoji{font-size:42px;line-height:1;margin-bottom:8px;color:rgba(220,53,69,1)}.mistake-limit-title{margin:0 0 6px;font-size:22px;color:#f8fafc}.mistake-limit-subtitle{margin:0 0 20px;font-size:14px;color:#94a3b8}.mistake-limit-new-btn{background-color:rgba(220,53,69,1);border:none;border-radius:8px;padding:10px 22px;font-size:15px;font-weight:600;color:#ffffff;cursor:pointer}.mistake-limit-new-btn:hover{background-color:rgba(189,45,59,1)}@media (prefers-reduced-motion:reduce){.sudoku-cell.cell-solved-pop{animation:none}.win-overlay,.win-card,.win-streak,.mistake-limit-overlay,.mistake-limit-card,.settings-overlay,.settings-card{transition:none}.sudoku-cell.cell-peer,.sudoku-cell.cell-same-value{transition:none}.sudoku-cell.cell-hint{animation:none;box-shadow:inset 0 0 0 3px rgba(255,193,7,0.9)}}.hint-toast{max-width:480px;margin:0 auto;padding:0;font-size:13px;line-height:1.4;color:#fcd34d;background-color:rgba(251,191,36,0.14);border-radius:8px;max-height:0;overflow:hidden;opacity:0;transition:opacity 0.25s ease,max-height 0.25s ease,padding 0.25s ease,margin 0.25s ease}.hint-toast.hint-toast-visible{padding:8px 14px;margin:0 auto 10px;max-height:120px;opacity:1}.welcome-toast{color:#7dd3fc;background-color:rgba(56,189,248,0.14)}.hint-technique-link{background:none;border:none;padding:0;margin:0;font:inherit;font-weight:700;color:#fcd34d;text-decoration:underline;text-underline-offset:2px;cursor:pointer}.hint-technique-link:hover{color:#fde68a}.hint-technique-popover{position:fixed;z-index:50;max-width:260px;background-color:#1e293b;border:1px solid #334155;border-radius:6px;padding:8px 10px;box-shadow:0 4px 16px rgba(0,0,0,0.25)}.hint-technique-popover-summary{margin:0 0 6px;font-size:13px;line-height:1.4;color:#cbd5e1}.hint-technique-popover-link{font-size:13px;font-weight:600;color:#0d6efd;text-decoration:none}.hint-technique-popover-link:hover{text-decoration:underline}.level-label{font-size:13px;font-weight:600;color:#94a3b8}.level-btn-group{display:flex;gap:8px;justify-content:center;flex-wrap:wrap}.level-btn{background:transparent;border:1px solid #334155;border-radius:6px;padding:6px 14px;font-size:13px;color:#cbd5e1;cursor:pointer;transition:background-color 0.15s ease}.level-btn:hover{background-color:#1e293b}.daily-challenge-btn{background-color:#0369a1;border:1px solid #0369a1;border-radius:6px;padding:6px 14px;font-size:13px;font-weight:600;color:#ffffff;cursor:pointer;transition:background-color 0.15s ease}.daily-challenge-btn:hover{background-color:#075985}.start-picker-container{max-width:560px;width:100%;margin:60px auto;padding:0 16px;text-align:center;box-sizing:border-box}.start-picker-subtitle{color:#94a3b8;font-size:14px;margin:0 0 28px}.start-picker-section{margin-bottom:28px}.start-picker-section .level-label{display:block;margin-bottom:10px}.start-picker-special{display:flex;justify-content:center;gap:12px;flex-wrap:wrap}.inline-start-picker{display:none;flex-direction:column;align-items:center;gap:10px}.inline-start-picker-close-btn{align-self:flex-end;margin:-4px -6px -6px 0}.inline-start-picker .level-btn-group{justify-content:center;flex-wrap:wrap}.inline-picker-special{display:flex;justify-content:center;gap:10px;flex-wrap:wrap}.toolbar-card{width:100%;box-sizing:border-box;background-color:#1e293b;border:1px solid #334155;border-radius:8px;padding:7px;display:flex;flex-direction:column;justify-content:space-between}.toolbar-row{display:flex;justify-content:space-between;gap:5px}.toolbar-row-half{justify-content:center}.toolbar-row-half .undo-redo-btn{flex:1;max-width:60px}.toolbar-row .undo-redo-btn{flex:1}.new-game-card{width:100%;box-sizing:border-box}.new-game-trigger{width:100%;box-sizing:border-box;background-color:#0369a1;border:1px solid #0369a1;border-radius:8px;padding:10px 14px;cursor:pointer;display:flex;justify-content:center;transition:background-color 0.15s ease}.new-game-trigger:hover{background-color:#075985}.ng-title{font-size:15px;font-weight:700;color:#ffffff}.daily-shortcut-btn{width:100%;box-sizing:border-box;background-color:#0369a1;border:1px solid #0369a1;border-radius:8px;padding:10px 14px;font-size:15px;font-weight:700;color:#ffffff;cursor:pointer;transition:background-color 0.15s ease}.daily-shortcut-btn:hover{background-color:#075985}.level-picker{background-color:#1e293b;border:1px solid #334155;border-radius:8px;padding:12px 10px;box-sizing:border-box;display:flex;flex-direction:column;gap:8px}.level-picker-header{display:flex;align-items:center;justify-content:space-between;gap:6px}.level-picker-header .settings-card-close-btn{font-size:13px;padding:2px;margin:-2px}.level-picker-heading{font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:0.05em;color:#94a3b8}.level-picker .level-btn-wrap{display:flex;flex-wrap:wrap;gap:6px}.level-picker .level-btn{flex:1 1 calc(50% - 3px)}.level-picker-outline{background-color:transparent;border:1px solid #0d6efd;color:#0d6efd}.hint-banner-desktop{display:none;width:100%;box-sizing:border-box;min-height:58px;margin-bottom:10px;border-radius:8px;padding:10px 14px;font-size:13px;line-height:1.4;text-align:center;align-items:center;justify-content:center;transition:background-color 0.2s ease,color 0.2s ease}@media (min-width:800px){.hint-banner-desktop{display:flex}}.hint-banner-desktop.idle{background-color:rgba(13,110,253,0.08);border:1px solid rgba(13,110,253,0.35);color:#0d6efd;font-family:Georgia,"Times New Roman",serif;font-size:17px;font-weight:700}.hint-banner-desktop.idle .hbd-eight{margin-right:1px}.hint-banner-desktop.active{background-color:rgba(251,191,36,0.14);color:#fcd34d}.hint-banner-desktop.welcome{background-color:rgba(56,189,248,0.14);color:#7dd3fc}#hint-card-right{display:none;order:-1}#toolbar-card-right{order:-2}@media (min-width:800px) and (max-height:715px){#hint-banner-desktop{display:none}#hint-card-right{display:flex;order:-2}#toolbar-card-right{order:-1}}.hint-banner-desktop.hbd-wordmark-suppressed .hbd-idle-content{opacity:0}.fact-line{background-color:#1e293b;border:1px solid #334155;border-radius:8px;padding:8px 12px;text-align:left;box-sizing:border-box}.fact-label{display:block;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:0.05em;color:#94a3b8;margin-bottom:2px}.fact-value{display:block;font-size:16px;font-weight:700;color:#f8fafc}.label-mistakes.mistakes-critical{color:rgba(220,53,69,1)}.fact-value.value-unlimited{display:flex;justify-content:space-between}.fact-value.value-unlimited .value-slash{display:none}.stat-cell .fact-value.value-unlimited{display:flex;justify-content:flex-start;gap:4px}.fact-line.stats-time-group .fact-value{white-space:nowrap}.fact-line-tall{display:flex;flex-direction:column;justify-content:center}.combo-card{gap:3px}.combo-row{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.combo-row .fact-label{margin-bottom:0;display:inline-flex;align-items:center;gap:3px;white-space:nowrap}.combo-row .fact-value{font-size:13px}.info-btn{width:14px;height:14px;border-radius:50%;border:1px solid #94a3b8;background:none;color:#94a3b8;font-size:9px;line-height:1;font-weight:700;padding:0;cursor:help;position:relative;flex:none}.info-btn .tip-bubble{display:none;position:absolute;bottom:calc(100% + 6px);left:50%;transform:translateX(-50%);width:190px;background-color:#0b1120;border:1px solid #334155;color:#cbd5e1;font-size:11.5px;font-weight:400;line-height:1.4;text-align:left;padding:8px 10px;border-radius:6px;z-index:1001;box-shadow:0 6px 18px rgba(0,0,0,0.4)}.info-btn:hover .tip-bubble,.info-btn:focus .tip-bubble,.info-btn:active .tip-bubble{display:block}.tips-box{flex:1;min-height:180px;background-color:#1e293b;border:1px solid #334155;border-radius:8px;padding:12px;box-sizing:border-box;display:flex;flex-direction:column;text-align:left}.tips-box .fact-label{margin-bottom:8px}.tip-text{font-size:13px;line-height:1.5;color:#cbd5e1;flex:1}.tip-text b{color:#f8fafc}.tips-dots{display:flex;gap:5px;justify-content:center;margin-top:10px}.tips-dots button{width:6px;height:6px;padding:0;border:none;border-radius:50%;background-color:#334155;cursor:pointer}.tips-dots button.active{background-color:#0d6efd}.resume-game-toast{position:absolute;top:0;left:0;right:0;z-index:10;display:block;max-width:0;overflow:hidden;white-space:nowrap;opacity:0;margin:0 auto;padding:0;text-align:center;border-radius:10px;background-color:#1e293b;border:1px solid #334155;box-shadow:0 4px 14px rgba(0,0,0,0.35);color:rgba(13,110,253,1);font-size:13px;font-weight:600;transition:opacity 0.3s ease,max-width 0.3s ease,padding 0.3s ease,margin 0.3s ease}.resume-game-toast.resume-game-toast-visible{opacity:1;max-width:320px;padding:6px 14px;margin:0 auto}.keyboard-mode-toast{position:fixed;left:50%;bottom:32px;transform:translateX(-50%) translateY(8px);margin:0;padding:8px 16px;border-radius:20px;background-color:#1e293b;border:1px solid #334155;color:#f8fafc;font-size:13px;font-weight:600;opacity:0;pointer-events:none;z-index:50;transition:opacity 0.2s ease,transform 0.2s ease}.keyboard-mode-toast.keyboard-mode-toast-visible{opacity:1;transform:translateX(-50%) translateY(0)}.pencil-controls{display:flex;flex-direction:column;align-items:center;gap:6px;margin:0 0 4px}.pencil-controls-row{display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap}.pencil-controls-tools{gap:14px}@media (min-width:800px){.pencil-controls{display:none}}.settings-gear-btn{background-color:#1e293b;border:1px solid #334155;border-radius:5px;width:32px;height:32px;font-size:16px;line-height:1;color:#cbd5e1;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;padding:0}.settings-gear-btn:hover{background-color:#334155}.undo-redo-btn{background-color:#1e293b;border:1px solid #334155;border-radius:5px;width:32px;height:32px;font-size:18px;line-height:1;color:#cbd5e1;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;padding:0}.undo-redo-btn:hover:not(:disabled){background-color:#334155}.undo-redo-btn:disabled{opacity:0.35;cursor:default}.settings-overlay{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;background-color:rgba(33,37,41,0);opacity:0;pointer-events:none;transition:opacity 0.25s ease,background-color 0.25s ease;z-index:20}.settings-overlay.settings-overlay-visible{opacity:1;background-color:rgba(33,37,41,0.45);pointer-events:auto}.settings-card{background-color:#1e293b;border-radius:14px;padding:20px 22px;width:90%;max-width:340px;box-sizing:border-box;box-shadow:0 12px 32px rgba(0,0,0,0.25);transform:scale(0.85) translateY(10px);transition:transform 0.25s ease;text-align:left}.settings-overlay-visible .settings-card{transform:scale(1) translateY(0)}.settings-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}.settings-card-title{margin:0;font-size:18px;color:#f8fafc}.settings-card-close-btn{background:none;border:none;font-size:16px;color:#94a3b8;cursor:pointer;padding:4px;line-height:1}.feedback-intro{margin:0 0 12px;font-size:13px;color:#94a3b8}#feedback-form textarea,#feedback-form input[type="email"]{width:100%;box-sizing:border-box;padding:8px 10px;border:1px solid #334155;border-radius:6px;font-size:14px;font-family:inherit;margin-bottom:10px;background-color:#0f172a;color:#f8fafc}#feedback-form textarea{min-height:5rem;resize:vertical}#feedback-form textarea:focus,#feedback-form input[type="email"]:focus{outline:none;border-color:#0d6efd}.feedback-submit-btn{width:100%;background-color:#0d6efd;border:none;border-radius:6px;padding:10px;font-size:14px;font-weight:600;color:#ffffff;cursor:pointer}.feedback-submit-btn:hover:not(:disabled){background-color:#0b5ed7}.feedback-submit-btn:disabled{opacity:0.6;cursor:default}.feedback-status{margin:10px 0 0;font-size:13px;min-height:1em}.feedback-status.feedback-status-success{color:#198754}.feedback-status.feedback-status-error{color:rgba(220,53,69,1)}.practice-technique-list{display:flex;flex-direction:column;gap:6px;max-height:50vh;max-height:50dvh;overflow-y:auto}.practice-technique-btn{display:block;width:100%;box-sizing:border-box;background-color:#1e293b;border:1px solid #334155;border-radius:6px;padding:8px 12px;font-size:14px;color:#f8fafc;cursor:pointer;text-align:left}.practice-technique-btn:hover{background-color:#334155}.practice-technique-row{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.practice-technique-row .practice-technique-btn{flex:1 1 auto;width:auto;min-width:0}.practice-technique-info-btn{flex:0 0 auto;width:26px;height:26px;display:inline-flex;align-items:center;justify-content:center;padding:0;background-color:#1e293b;border:1px solid #334155;border-radius:50%;font-size:13px;line-height:1;color:#94a3b8;cursor:pointer}.practice-technique-info-btn:hover{background-color:#334155}.practice-technique-nextstep-btn{flex:0 0 auto;padding:6px 10px;background-color:#1e293b;border:1px solid #0d6efd;border-radius:6px;font-size:12px;font-weight:600;color:#0d6efd;cursor:pointer;white-space:nowrap}.practice-technique-nextstep-btn:hover{background-color:rgba(13,110,253,0.08)}.practice-technique-popover{flex-basis:100%;max-height:0;overflow:hidden;opacity:0;box-sizing:border-box;background-color:#1e293b;border-radius:6px;transition:max-height 0.2s ease,opacity 0.2s ease}.practice-technique-popover.practice-technique-popover-visible{max-height:220px;opacity:1;padding:8px 10px;border:1px solid #334155}.practice-technique-popover-summary{margin:0 0 6px;font-size:13px;line-height:1.4;color:#cbd5e1}.practice-technique-popover-link{font-size:13px;font-weight:600;color:#0d6efd;text-decoration:none}.practice-technique-popover-link:hover{text-decoration:underline}.hp-field{position:absolute;left:-9999px;top:-9999px;height:0;width:0;opacity:0}.settings-toggle-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 0;border-top:1px solid #334155}.settings-toggle-row:first-child{border-top:none}.settings-toggle-label{font-size:14px;color:#f8fafc}.settings-toggle-row.settings-row-dimmed{opacity:0.45}.settings-toggle-row.settings-row-dimmed .settings-toggle-label{color:#64748b}.settings-note{margin:0 0 4px;padding:8px 10px;font-size:12px;line-height:1.4;color:#fcd34d;background-color:rgba(255,193,7,0.15);border-radius:6px}.settings-toggle-switch{position:relative;display:inline-block;width:40px;height:22px;flex:none;cursor:pointer}.settings-toggle-switch input{position:absolute;opacity:0;width:100%;height:100%;margin:0;cursor:pointer}.settings-toggle-switch-track{position:absolute;inset:0;background-color:#475569;border-radius:999px;transition:background-color 0.15s ease;pointer-events:none}.settings-toggle-switch-track::before{content:"";position:absolute;width:18px;height:18px;left:2px;top:2px;background-color:#ffffff;border-radius:50%;transition:transform 0.15s ease;box-shadow:0 1px 2px rgba(0,0,0,0.25)}.settings-toggle-switch input:checked + .settings-toggle-switch-track{background-color:#0d6efd}.settings-toggle-switch input:checked + .settings-toggle-switch-track::before{transform:translateX(18px)}.settings-select{background-color:#1e293b;border:1px solid #334155;border-radius:6px;padding:5px 8px;font-size:14px;color:#f8fafc;cursor:pointer}.settings-select:hover{background-color:#334155}.arrow-wrap-slider{position:relative;display:flex;width:168px;background-color:#0f172a;border:1px solid #334155;border-radius:18px;padding:3px}.arrow-wrap-thumb{position:absolute;top:3px;bottom:3px;left:3px;width:calc(33.333% - 2px);background-color:#0d6efd;border-radius:14px;transition:transform 0.2s ease}.arrow-wrap-slider[data-active="WRAP_LINE"] .arrow-wrap-thumb{transform:translateX(100%)}.arrow-wrap-slider[data-active="WRAP_NEXT"] .arrow-wrap-thumb{transform:translateX(200%)}.arrow-wrap-slider[data-active="NONE"] .arrow-wrap-btn:nth-child(2),.arrow-wrap-slider[data-active="WRAP_LINE"] .arrow-wrap-btn:nth-child(3),.arrow-wrap-slider[data-active="WRAP_NEXT"] .arrow-wrap-btn:nth-child(4){color:#ffffff}.arrow-wrap-btn{position:relative;z-index:1;flex:1;border:none;background:transparent;padding:4px 2px;font-size:11px;font-weight:600;color:#a8b6c8;cursor:pointer;border-radius:14px;transition:color 0.15s ease;white-space:nowrap}.arrow-wrap-btn:focus-visible{outline:2px solid #0d6efd;outline-offset:2px}#input-mode-card{display:flex;flex-direction:column;gap:6px}.side-pad-checkbox-row{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:600;color:#cbd5e1;cursor:pointer}.side-pad-checkbox-row input[type="checkbox"]{width:16px;height:16px;accent-color:#0d6efd;cursor:pointer}.value-pad-mode-slider[hidden],.direct-click-mode-slider[hidden]{display:none}.value-pad-mode-slider{position:relative;display:flex;width:100%;background-color:#334155;border-radius:22px;padding:3px;box-sizing:border-box}.value-pad-mode-thumb{position:absolute;top:3px;bottom:3px;left:3px;width:calc(50% - 3px);background-color:#0d6efd;border-radius:18px;transition:transform 0.2s ease}.value-pad-mode-slider[data-active="CELL_FIRST"] .value-pad-mode-thumb{transform:translateX(100%)}.value-pad-mode-btn{position:relative;z-index:1;flex:1;border:none;background:transparent;padding:6px 4px;font-size:12px;font-weight:600;color:#a8b6c8;cursor:pointer;border-radius:18px;transition:color 0.15s ease;white-space:nowrap}.value-pad-mode-slider[data-active="DIGIT_FIRST"] .value-pad-mode-btn[data-mode="DIGIT_FIRST"],.value-pad-mode-slider[data-active="CELL_FIRST"] .value-pad-mode-btn[data-mode="CELL_FIRST"]{color:#ffffff}.value-pad-mode-btn:focus-visible{outline:2px solid #0d6efd;outline-offset:2px}#side-pad-outer-left[data-number-entry-mode="DIRECT_CLICK"] .values-pad-section{display:none}#side-pad-outer-left[data-number-entry-mode="DIRECT_CLICK"] .marks-frame-grid .candidate-number-btn{visibility:hidden;grid-column:1;grid-row:1;width:43px;height:43px}#side-pad-outer-left[data-number-entry-mode="DIRECT_CLICK"] .marks-frame-grid{grid-template-columns:repeat(4,max-content);gap:2px}#side-pad-outer-left[data-number-entry-mode="DIRECT_CLICK"] .marks-frame-grid .candidate-color-swatch,#side-pad-outer-left[data-number-entry-mode="DIRECT_CLICK"] .marks-frame-grid .side-pad-clear-btn{width:43px;height:43px}#side-pad-outer-left[data-number-entry-mode="DIRECT_CLICK"] .marks-frame-grid .side-pad-clear-btn{font-size:10px}#side-pad-outer-left[data-number-entry-mode="DIRECT_CLICK"] .marks-frame-grid .candidate-color-swatch[data-pad-value="c1"]{grid-column:1;grid-row:1}#side-pad-outer-left[data-number-entry-mode="DIRECT_CLICK"] .marks-frame-grid .candidate-color-swatch[data-pad-value="c3"]{grid-column:2;grid-row:1}#side-pad-outer-left[data-number-entry-mode="DIRECT_CLICK"] .marks-frame-grid .candidate-color-swatch[data-pad-value="c5"]{grid-column:3;grid-row:1}#side-pad-outer-left[data-number-entry-mode="DIRECT_CLICK"] .marks-frame-grid .side-pad-clear-btn{grid-column:4;grid-row:1}#side-pad-outer-left[data-number-entry-mode="DIRECT_CLICK"] .marks-frame-grid .candidate-color-swatch[data-pad-value="c2"]{grid-column:1;grid-row:2}#side-pad-outer-left[data-number-entry-mode="DIRECT_CLICK"] .marks-frame-grid .candidate-color-swatch[data-pad-value="c4"]{grid-column:2;grid-row:2}#side-pad-outer-left[data-number-entry-mode="DIRECT_CLICK"] .marks-frame-grid .candidate-color-swatch[data-pad-value="c6"]{grid-column:3;grid-row:2}#side-pad-outer-left[data-number-entry-mode="DIRECT_CLICK"] .marks-frame-grid .candidate-color-swatch[data-pad-value="c0"]{grid-column:4;grid-row:2}.direct-click-mode-slider{position:relative;display:flex;width:100%;background-color:#334155;border-radius:22px;padding:3px;box-sizing:border-box}.direct-click-mode-thumb{position:absolute;top:3px;bottom:3px;left:3px;width:calc(50% - 3px);background-color:#0d6efd;border-radius:18px;transition:transform 0.2s ease}.direct-click-mode-slider[data-active="MARKS"] .direct-click-mode-thumb{transform:translateX(100%)}.direct-click-mode-btn{position:relative;z-index:1;flex:1;border:none;background:transparent;padding:6px 4px;font-size:12px;font-weight:600;color:#a8b6c8;cursor:pointer;border-radius:18px;transition:color 0.15s ease;white-space:nowrap}.direct-click-mode-slider[data-active="VALUE"] .direct-click-mode-btn[data-mode="VALUE"],.direct-click-mode-slider[data-active="MARKS"] .direct-click-mode-btn[data-mode="MARKS"]{color:#ffffff}.direct-click-mode-btn:focus-visible{outline:2px solid #0d6efd;outline-offset:2px}