:root{--checkz-bg: #070A1F;--checkz-panel: #11183A;--checkz-square-dark: #141A3D;--checkz-square-light: #202A5C;--checkz-accent-blue: #4DA3FF;--checkz-accent-violet: #8B5CF6;--checkz-accent-magenta: #D946EF;--checkz-success: #38BDF8;--checkz-error: #F43F5E;--bg: var(--checkz-bg);--surface: var(--checkz-panel);--surface-2: #182151;--text: #ECF0FF;--text-muted: #8993B8;--text-soft: #5A6388;--accent: var(--checkz-accent-violet);--accent-hover: #9D71F8;--accent-dim: #6F46E0;--accent-soft: rgba(139,92,246,.16);--success: var(--checkz-success);--warn: #FBBF24;--error: var(--checkz-error);--streak: #FF7A45;--border: rgba(125,160,255,.1);--border-soft: rgba(125,160,255,.06);--board-light: #C3CDD7;--board-dark: #1F2C56;--board-edge: #050715;--hl-blue: rgba(77,163,255,.55);--hl-violet: rgba(139,92,246,.55);--hl-magenta: rgba(217,70,239,.55);--hl-orange: rgba(234,88,12,1);--hl-from: rgba(77,163,255,.45);--hl-to: rgba(77,163,255,.28);--hl-last: rgba(139,92,246,.34);--hl-hint: rgba(234,88,12,.95);--glow-blue: 0 0 12px rgba(77,163,255,.45), 0 0 32px rgba(77,163,255,.18);--glow-violet: 0 0 14px rgba(139,92,246,.55), 0 0 36px rgba(139,92,246,.2);--glow-magenta: 0 0 12px rgba(217,70,239,.55);--glow-error: 0 0 14px rgba(244,63,94,.55);--board-shadow: 0 0 0 1px rgba(140,170,220,.22), inset 0 1px 0 rgba(255,255,255,.06), 0 16px 44px -10px rgba(0,0,0,.55), 0 4px 14px rgba(0,0,0,.35), 0 0 28px rgba(77,163,255,.18);--shadow-sm: 0 1px 2px rgba(0,0,0,.45);--shadow-md: 0 8px 28px -10px rgba(0,0,0,.65), 0 2px 8px rgba(0,0,0,.4);--shadow-lg: 0 24px 60px -16px rgba(0,0,0,.75), 0 4px 16px rgba(0,0,0,.5);--radius-sm: 10px;--radius-md: 16px;--radius-lg: 22px;--radius-xl: 32px}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:16px;line-height:1.5;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{color:inherit}button{font-family:inherit}.app{min-height:100%;display:flex;flex-direction:column}.site-header{display:flex;align-items:center;justify-content:space-between;padding:14px 20px 6px;max-width:720px;margin:0 auto;width:100%}.brand-home{display:inline-flex;align-items:center;gap:10px;text-decoration:none;color:inherit;border-radius:var(--radius-sm)}.debug-chip{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;font-weight:500;letter-spacing:0;color:var(--text-muted);background:#ffffff0f;border:1px solid rgba(255,255,255,.1);border-radius:999px;padding:3px 8px;white-space:nowrap;user-select:text}.brand-home:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.wordmark{margin:0;font-family:inherit;font-weight:800;font-size:28px;letter-spacing:-.02em;color:var(--text);line-height:1;display:inline-block}.wordmark-base{color:var(--text)}.wordmark-z{display:inline-block;color:var(--accent);transform:rotate(-6deg);transform-origin:30% 70%;margin-left:.01em}.site-nav{display:flex;gap:18px;font-size:14px;color:var(--text-muted)}.site-nav a{text-decoration:none;color:inherit;transition:color .15s}.site-nav a:hover{color:var(--text)}.header-icons{display:inline-flex;align-items:center;gap:8px}.icon-btn{appearance:none;width:38px;height:38px;border-radius:50%;background:transparent;border:1px solid var(--border);color:var(--text-muted);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;padding:0;transition:color .15s ease,border-color .15s ease,background .15s ease}.icon-btn:hover{color:var(--text);border-color:#8b5cf68c;background:#8b5cf61a}.icon-btn:focus-visible{outline:2px solid var(--checkz-accent-blue);outline-offset:2px}.icon-btn-glyph{font-size:18px;font-weight:700;line-height:1;padding-bottom:1px}.win-trophy{display:inline-flex;align-items:center;justify-content:center;color:#fbbf24;pointer-events:none;filter:drop-shadow(0 0 10px rgba(251,191,36,.65)) drop-shadow(0 0 24px rgba(251,191,36,.3));animation:trophy-pop .35s cubic-bezier(.2,.9,.3,1.2) both,trophy-glow 2.8s ease-in-out .35s infinite}@keyframes trophy-pop{0%{opacity:0;transform:translateY(-3px) scale(.7)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes trophy-glow{0%,to{filter:drop-shadow(0 0 8px rgba(251,191,36,.55)) drop-shadow(0 0 20px rgba(251,191,36,.25))}50%{filter:drop-shadow(0 0 14px rgba(251,191,36,1)) drop-shadow(0 0 32px rgba(251,191,36,.55))}}@media (prefers-reduced-motion: reduce){.win-trophy{animation:trophy-pop .35s cubic-bezier(.2,.9,.3,1.2) both}}.main{flex:1 0 auto;padding:2px 16px 20px;max-width:560px;width:100%;margin:0 auto}.mode-tabs{display:inline-flex;padding:3px;background:var(--surface-2);border:1px solid var(--border);border-radius:999px;gap:2px}.mode-tab{appearance:none;background:transparent;border:0;color:var(--text-muted);font-size:11.5px;font-weight:600;letter-spacing:.02em;padding:5px 10px;border-radius:999px;cursor:pointer;transition:color .15s ease,background-color .15s ease}.mode-tab:hover{color:var(--text)}.mode-tab.is-active{background:var(--accent);color:#fff}.difficulty-picker{display:flex;width:fit-content;margin:14px auto;padding:3px;background:var(--surface-2);border:1px solid var(--border);border-radius:999px;gap:0}@media (min-width: 640px){.difficulty-picker{margin-top:18px;margin-bottom:18px}.board-wrap{margin:18px 0}.controls,.howto,.howto-feedback{margin-top:18px}}.difficulty-chip{appearance:none;background:transparent;border:0;cursor:pointer;color:var(--text-muted);font-size:14px;font-weight:600;letter-spacing:.02em;padding:11px 14px;border-radius:999px;position:relative;transition:color .15s ease,background-color .15s ease,transform .05s ease}@media (min-width: 640px){.difficulty-chip{font-size:16px;padding:13px 18px}}.difficulty-chip:active{transform:scale(.96)}.difficulty-chip-easy:hover:not(.is-selected),.difficulty-chip-easy:focus-visible:not(.is-selected){color:#22c55e;background:#22c55e29}.difficulty-chip-warmup:hover:not(.is-selected),.difficulty-chip-warmup:focus-visible:not(.is-selected){color:#2dd4bf;background:#2dd4bf29}.difficulty-chip-medium:hover:not(.is-selected),.difficulty-chip-medium:focus-visible:not(.is-selected){color:#fbbf24;background:#fbbf242e}.difficulty-chip-tougher:hover:not(.is-selected),.difficulty-chip-tougher:focus-visible:not(.is-selected){color:#fb923c;background:#fb923c29}.difficulty-chip-hard:hover:not(.is-selected),.difficulty-chip-hard:focus-visible:not(.is-selected){color:#f87171;background:#f8717129}.difficulty-chip:focus-visible{outline:2px solid var(--checkz-accent-blue);outline-offset:2px}.difficulty-chip+.difficulty-chip:before{content:"";position:absolute;left:0;top:25%;bottom:25%;width:1px;background:#a0b4e638;pointer-events:none}.difficulty-chip.is-selected:before,.difficulty-chip.is-selected+.difficulty-chip:before{display:none}.difficulty-chip.is-selected.difficulty-chip-easy{background:#22c55ed9;color:#fff}.difficulty-chip.is-selected.difficulty-chip-warmup{background:#2dd4bfd9;color:#0b2126}.difficulty-chip.is-selected.difficulty-chip-medium{background:#fbbf24e6;color:#1a1306}.difficulty-chip.is-selected.difficulty-chip-tougher{background:#fb923ce6;color:#1a0f06}.difficulty-chip.is-selected.difficulty-chip-hard{background:#f87171d9;color:#fff}.practice-next{margin-top:14px;display:flex;flex-direction:column;align-items:center;gap:8px}.card{background:var(--surface);border-radius:var(--radius-lg);padding:16px 22px 22px;box-shadow:var(--shadow-md);border:1px solid var(--border-soft)}.placeholder-card{text-align:center;padding:40px 24px;color:var(--text-muted)}.card-head{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:nowrap;margin-bottom:4px}.card-head-meta{display:flex;align-items:center;gap:8px;flex-shrink:0}.card-title{margin:0;font-size:22px;font-weight:800;letter-spacing:0;line-height:1.15;flex:1 1 auto;min-width:0;display:flex;align-items:center;gap:8px}.card-title-text{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.card-sub{margin:4px 0 12px;color:var(--text-muted);font-size:14px}.howto{margin:14px 0 0;text-align:center;color:var(--text-muted);font-size:14px}.howto-feedback{margin:14px 0 0}.howto-feedback-warn{color:var(--warn);font-weight:800;font-size:20px;letter-spacing:-.01em}.howto-feedback-info{color:var(--text-muted)}.howto-feedback-success{color:var(--success);font-weight:700}.pill{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:999px;font-size:12px;font-weight:600;letter-spacing:.01em;white-space:nowrap}.pill-muted{background:var(--surface-2);color:var(--text-muted)}.pill-easy{background:#22c55e29;color:#22c55e}.pill-warmup{background:#2dd4bf29;color:#2dd4bf}.pill-medium{background:#fbbf2429;color:#fbbf24}.pill-tougher{background:#fb923c29;color:#fb923c}.pill-hard{background:#f8717129;color:#f87171}.banner{margin:0 0 16px;padding:10px 14px;border-radius:var(--radius-md);font-size:13.5px;line-height:1.4}.banner-info{background:#8b5cf629;color:#d9cdff}.banner-muted{background:var(--surface-2);color:var(--text-muted)}.banner-warn{background:#fbbf2424;color:var(--warn)}.board-wrap{display:flex;justify-content:center;margin:14px 0;filter:drop-shadow(0 0 24px rgba(77,163,255,.1)) drop-shadow(0 0 60px rgba(139,92,246,.08));transition:filter .2s ease}.board-wrap.is-error{animation:board-error-pulse .6s ease-out}.board-wrap.is-success{animation:board-success-pulse 1.25s ease-out}.board-wrap.is-error .board{animation:board-error-ring .6s ease-out}.board-wrap.is-success .board{animation:board-success-ring 1.25s ease-out}.board{width:100%;max-width:360px;aspect-ratio:1 / 1;display:grid;grid-template-columns:repeat(8,1fr);grid-template-rows:repeat(8,1fr);border-radius:18px;overflow:hidden;box-shadow:var(--board-shadow);background:var(--board-light);user-select:none}.board[data-viewport="4x4"]{max-width:320px}.board[data-viewport="5x5"]{max-width:360px}.board[data-viewport="6x6"]{max-width:400px}.board[data-viewport="7x7"]{max-width:440px}.board[data-viewport="8x8"]{max-width:480px}.board[data-viewport="4x4"] .sq:nth-child(1){border-top-left-radius:16px}.board[data-viewport="4x4"] .sq:nth-child(4){border-top-right-radius:16px}.board[data-viewport="4x4"] .sq:nth-child(13){border-bottom-left-radius:16px}.board[data-viewport="4x4"] .sq:nth-child(16){border-bottom-right-radius:16px}.board[data-viewport="5x5"] .sq:nth-child(1){border-top-left-radius:16px}.board[data-viewport="5x5"] .sq:nth-child(5){border-top-right-radius:16px}.board[data-viewport="5x5"] .sq:nth-child(21){border-bottom-left-radius:16px}.board[data-viewport="5x5"] .sq:nth-child(25){border-bottom-right-radius:16px}.board[data-viewport="6x6"] .sq:nth-child(1){border-top-left-radius:16px}.board[data-viewport="6x6"] .sq:nth-child(6){border-top-right-radius:16px}.board[data-viewport="6x6"] .sq:nth-child(31){border-bottom-left-radius:16px}.board[data-viewport="6x6"] .sq:nth-child(36){border-bottom-right-radius:16px}.board[data-viewport="7x7"] .sq:nth-child(1){border-top-left-radius:16px}.board[data-viewport="7x7"] .sq:nth-child(7){border-top-right-radius:16px}.board[data-viewport="7x7"] .sq:nth-child(43){border-bottom-left-radius:16px}.board[data-viewport="7x7"] .sq:nth-child(49){border-bottom-right-radius:16px}.board[data-viewport="8x8"] .sq:nth-child(1){border-top-left-radius:16px}.board[data-viewport="8x8"] .sq:nth-child(8){border-top-right-radius:16px}.board[data-viewport="8x8"] .sq:nth-child(57){border-bottom-left-radius:16px}.board[data-viewport="8x8"] .sq:nth-child(64){border-bottom-right-radius:16px}.sq{position:relative;border:0;margin:0;padding:0;background:var(--board-light);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:clamp(30px,9vw,48px);line-height:1;transition:background-color .15s ease,transform .15s ease,box-shadow .15s ease}.sq:disabled{cursor:default}.sq:focus-visible{outline:2px solid var(--checkz-accent-blue);outline-offset:-3px;z-index:2}.sq-light{background:radial-gradient(110% 110% at 50% 35%,#ffffff2e,#0000 55%),var(--board-light)}.sq-dark{background:radial-gradient(110% 110% at 50% 35%,#b4d2ff2e,#0000 55%),var(--board-dark)}.sq-selected{background:#4da3ff52!important;box-shadow:inset 0 0 0 2px #4da3ffcc,inset 0 0 18px #4da3ff59}.sq-selected .piece{transform:translateY(-1px) scale(1.04);filter:drop-shadow(0 0 10px rgba(77,163,255,.85)) drop-shadow(0 1px 2px rgba(0,0,0,.5))}.sq-last{box-shadow:inset 0 0 0 2px var(--hl-last),inset 0 0 14px #8b5cf633}.sq-hint{box-shadow:inset 0 0 0 4px var(--hl-hint),inset 0 0 18px #ea580c80;animation:hint-pulse 1.2s ease-in-out infinite}.dest-dot{position:absolute;width:22%;height:22%;border-radius:50%;background:#4da3ff8c;box-shadow:0 0 10px #4da3ff8c,0 0 22px #4da3ff33;pointer-events:none;animation:dest-pulse 1.6s ease-in-out infinite}.dest-ring{position:absolute;inset:6%;border-radius:14%;box-shadow:inset 0 0 0 3px #4da3ff8c,0 0 14px #4da3ff4d;pointer-events:none}.piece{position:relative;z-index:1;width:84%;height:84%;display:flex;align-items:center;justify-content:center;transition:filter .15s ease,transform .15s ease}.piece-svg{width:100%;height:100%;display:block;user-select:none;-webkit-user-drag:none;pointer-events:none}.checkz-logo-tile{display:inline-flex;align-items:center;justify-content:center;background:radial-gradient(110% 110% at 50% 35%,#ffffff2e,#0000 55%),#c3cdd7;border-radius:6px;position:relative}.checkz-logo-king{width:80%;height:80%;display:block;user-select:none;-webkit-user-drag:none;pointer-events:none}.piece-white{color:#fff;filter:drop-shadow(0 0 4px rgba(77,163,255,.22)) drop-shadow(0 1px 2px rgba(0,0,0,.3))}.piece-black{color:#0f1226;filter:drop-shadow(0 0 2px rgba(139,92,246,.18)) drop-shadow(0 0 6px rgba(139,92,246,.1)) drop-shadow(0 1px 2px rgba(0,0,0,.4))}.sq-dark .piece-black{filter:drop-shadow(0 0 .6px rgba(195,205,215,1)) drop-shadow(0 0 .6px rgba(195,205,215,1)) drop-shadow(0 0 .6px rgba(195,205,215,1)) drop-shadow(0 0 6px rgba(139,92,246,.18)) drop-shadow(0 1px 2px rgba(0,0,0,.4))}@media (pointer: coarse){.sq-dark .piece-black{filter:drop-shadow(0 0 1.5px rgba(220,230,240,1)) drop-shadow(0 0 1.5px rgba(220,230,240,1)) drop-shadow(0 0 6px rgba(220,230,240,.55)) drop-shadow(0 0 10px rgba(139,92,246,.22)) drop-shadow(0 1px 2px rgba(0,0,0,.45))}}@keyframes hint-pulse{0%,to{box-shadow:inset 0 0 0 4px var(--hl-hint),inset 0 0 18px #ea580c80}50%{box-shadow:inset 0 0 0 4px var(--hl-orange),inset 0 0 34px #ea580ccc}}@keyframes dest-pulse{0%,to{opacity:.85;transform:scale(1)}50%{opacity:1;transform:scale(1.1)}}@keyframes board-error-pulse{0%{transform:translate(0);filter:drop-shadow(0 0 24px rgba(77,163,255,.1)) drop-shadow(0 0 60px rgba(139,92,246,.08))}10%{transform:translate(-6px);filter:drop-shadow(0 0 22px rgba(244,63,94,1)) drop-shadow(0 0 56px rgba(244,63,94,.55))}25%{transform:translate(6px)}40%{transform:translate(-4px);filter:drop-shadow(0 0 22px rgba(244,63,94,.95)) drop-shadow(0 0 56px rgba(244,63,94,.5))}55%{transform:translate(4px)}70%{transform:translate(0);filter:drop-shadow(0 0 18px rgba(244,63,94,.55)) drop-shadow(0 0 44px rgba(244,63,94,.25))}to{transform:translate(0);filter:drop-shadow(0 0 24px rgba(77,163,255,.1)) drop-shadow(0 0 60px rgba(139,92,246,.08))}}@keyframes board-error-ring{0%{box-shadow:var(--board-shadow)}10%{box-shadow:0 0 0 4px #f43f5e,0 0 0 12px #f43f5e66,inset 0 0 0 2px #f43f5ea6,0 0 38px #f43f5ef2,0 16px 44px -10px #0000008c}60%{box-shadow:0 0 0 4px #f43f5ef2,0 0 0 12px #f43f5e4d,inset 0 0 0 2px #f43f5e80,0 0 32px #f43f5ebf,0 16px 44px -10px #0000008c}to{box-shadow:var(--board-shadow)}}@keyframes board-success-pulse{0%{transform:scale(1);filter:drop-shadow(0 0 24px rgba(77,163,255,.1)) drop-shadow(0 0 60px rgba(139,92,246,.08))}12%{transform:scale(1.035);filter:drop-shadow(0 0 28px rgba(56,189,248,1)) drop-shadow(0 0 60px rgba(217,70,239,.75)) drop-shadow(0 0 110px rgba(139,92,246,.55))}35%{transform:scale(1.018);filter:drop-shadow(0 0 32px rgba(56,189,248,.95)) drop-shadow(0 0 70px rgba(217,70,239,.65)) drop-shadow(0 0 120px rgba(139,92,246,.5))}60%{transform:scale(1.008);filter:drop-shadow(0 0 30px rgba(56,189,248,.8)) drop-shadow(0 0 64px rgba(217,70,239,.5)) drop-shadow(0 0 110px rgba(139,92,246,.4))}82%{transform:scale(1);filter:drop-shadow(0 0 22px rgba(56,189,248,.45)) drop-shadow(0 0 50px rgba(217,70,239,.22)) drop-shadow(0 0 90px rgba(139,92,246,.18))}to{transform:scale(1);filter:drop-shadow(0 0 24px rgba(77,163,255,.1)) drop-shadow(0 0 60px rgba(139,92,246,.08))}}@keyframes board-success-ring{0%{box-shadow:var(--board-shadow)}12%{box-shadow:0 0 0 4px #38bdf8,0 0 0 12px #38bdf880,inset 0 0 0 2px #38bdf8a6,0 0 44px #38bdf8,0 0 90px #d946ef80,0 16px 44px -10px #0000008c}60%{box-shadow:0 0 0 4px #38bdf8f2,0 0 0 12px #38bdf866,inset 0 0 0 2px #38bdf880,0 0 38px #38bdf8d9,0 0 80px #d946ef6b,0 16px 44px -10px #0000008c}to{box-shadow:var(--board-shadow)}}.controls{display:flex;gap:10px;margin-top:14px;justify-content:center}.btn{appearance:none;border:0;border-radius:999px;padding:12px 22px;font-size:15px;font-weight:600;cursor:pointer;transition:background-color .15s ease,color .15s ease,transform .05s ease,box-shadow .15s ease;min-width:88px}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--accent);color:#fff;box-shadow:0 4px 14px -4px #6c5ce78c}.btn-primary:hover:not(:disabled){background:var(--accent-hover)}.btn-ghost{background:var(--surface-2);color:var(--text);box-shadow:0 0 0 1px var(--border) inset}.btn-ghost:hover:not(:disabled){background:var(--accent);color:#fff;box-shadow:0 0 0 1px var(--accent) inset,0 4px 14px -4px #8b5cf68c}.modal-backdrop{position:fixed;inset:0;height:100dvh;background:#14141e73;backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:max(20px,env(safe-area-inset-top)) 20px max(20px,env(safe-area-inset-bottom));z-index:50;animation:fade-in .15s ease both}.modal{background:var(--surface);border-radius:var(--radius-xl);width:100%;max-width:420px;padding:28px 24px 24px;box-shadow:var(--shadow-lg);text-align:center;animation:pop-in .25s cubic-bezier(.2,.9,.3,1.2) both;max-height:calc(100dvh - 40px);overflow-y:auto}.modal-close-wrap{position:sticky;top:0;z-index:2;height:0;display:flex;justify-content:flex-end;pointer-events:none}.modal-close{pointer-events:auto;margin-top:6px;margin-right:-8px;width:36px;height:36px;border:0;border-radius:999px;background:var(--surface-2);color:var(--text-muted);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;box-shadow:0 0 0 1px var(--border) inset;transition:background-color .15s ease,color .15s ease,transform .05s ease,box-shadow .15s ease}.modal-close:hover,.modal-close:focus-visible{background:var(--accent);color:#fff;box-shadow:0 0 0 1px var(--accent) inset,0 4px 14px -4px #8b5cf68c;outline:none}.modal-close:active{transform:translateY(1px)}.modal-close svg{width:18px;height:18px;display:block}.modal-burst{display:flex;justify-content:center;margin-bottom:12px}.modal-burst .checkz-logo-tile,.modal-burst svg{filter:drop-shadow(0 6px 18px rgba(77,163,255,.3)) drop-shadow(0 2px 6px rgba(0,0,0,.55))}.share-modal{max-width:460px}.share-title{margin-bottom:4px}.share-image-wrap{margin:6px 0 14px;display:flex;justify-content:center}.share-image{width:100%;max-width:320px;aspect-ratio:1 / 1;border-radius:var(--radius-md);display:block;box-shadow:0 8px 28px -8px #000000a6,0 0 24px #4da3ff26}.share-image-placeholder{width:100%;max-width:320px;aspect-ratio:1 / 1;border-radius:var(--radius-md);background:var(--surface-2);border:1px solid var(--border);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;color:var(--text-muted);font-size:14px}.share-primary-actions{display:flex;flex-direction:column;align-items:center;gap:10px;margin-bottom:14px}.share-primary-btn{min-width:0;width:100%;max-width:320px;padding:12px 16px;font-size:16px}.share-text-wrap{margin:12px 0 4px;border-top:1px solid var(--border-soft);padding-top:12px}.share-text-summary{cursor:pointer;font-size:13px;color:var(--text-muted);padding:4px 0;list-style:none}.share-text-summary::-webkit-details-marker{display:none}.share-text-summary:after{content:" ▾";color:var(--text-soft)}details[open] .share-text-summary:after{content:" ▴"}.share-hint{margin:10px 0 0;font-size:12px;color:var(--text-soft);line-height:1.5}.share-targets{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:18px 0 4px}.share-target{appearance:none;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-md);padding:12px 6px 10px;display:flex;flex-direction:column;align-items:center;gap:6px;cursor:pointer;color:var(--text-muted);transition:color .15s ease,border-color .15s ease,background .15s ease,transform .05s ease}.share-target:hover{color:var(--text);border-color:#8b5cf68c;background:#8b5cf61a}.share-target:active{transform:translateY(1px)}.share-target:focus-visible{outline:2px solid var(--checkz-accent-blue);outline-offset:2px}.share-target-icon{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px}.share-target-label{font-size:11.5px;font-weight:600;letter-spacing:.01em}@media (max-width: 360px){.share-targets{grid-template-columns:repeat(3,1fr)}}.share-preview{margin:14px 0 0;padding:14px 16px;background:var(--surface-2);border:1px solid var(--border-soft);border-radius:var(--radius-md);font-family:var(--font-mono, ui-monospace, "SF Mono", Menlo, Consolas, monospace);font-size:13.5px;line-height:1.55;color:var(--text);white-space:pre-wrap;word-break:break-word;text-align:left}.modal-title{margin:6px 0 4px;font-size:22px;font-weight:800;letter-spacing:-.01em}.modal-sub{margin:0;color:var(--text-muted);font-size:14px}.modal-blurb{margin:14px 0 4px;font-size:15px}.success-title{color:#fff;font-size:28px;display:flex;align-items:baseline;justify-content:center;gap:.18em;flex-wrap:wrap}.success-title-nice{color:#fff}.success-wordmark{font-size:1em;line-height:1}.success-sub{color:#fff;font-size:18px;font-weight:600;margin-top:6px}.streak-pill{display:inline-flex;align-items:center;gap:8px;margin:14px auto 0;padding:8px 14px;border-radius:999px;background:#ff6b351f;color:var(--streak);font-size:13px;font-weight:600}.streak-flame{color:var(--streak)}.modal-actions{display:flex;gap:10px;justify-content:center;margin:18px 0 8px}.modal-actions-stacked{flex-direction:column;gap:10px}.modal-actions-stacked .btn{width:100%}.countdown{margin:14px 0 4px;font-size:14px;color:var(--text-muted);font-variant-numeric:tabular-nums;text-align:center}.countdown strong{color:var(--accent);font-weight:700;letter-spacing:.04em}.modal-cross{margin-top:18px;padding-top:16px;border-top:1px solid var(--border-soft);text-align:left}.cross-title{margin:0 0 8px;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text-soft)}.cross-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.cross-list a{text-decoration:none;font-size:14px;color:var(--text);padding:6px 0;display:inline-block}.cross-list a{color:var(--text)}.cross-list a:hover{color:var(--accent)}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes pop-in{0%{opacity:0;transform:translateY(8px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}.legal-card{background:var(--surface);border-radius:var(--radius-lg);padding:16px 26px 24px;box-shadow:var(--shadow-md);border:1px solid var(--border-soft);color:var(--text);line-height:1.65;font-size:15.5px}.legal-card h1.legal-title{margin:0 0 4px;font-size:28px;font-weight:800;letter-spacing:-.02em}.legal-card .legal-meta{margin:0 0 22px;color:var(--text-muted);font-size:13.5px}.legal-card h2{margin:26px 0 8px;font-size:17px;font-weight:700;color:var(--text)}.legal-card p{margin:0 0 14px}.legal-card ul{margin:6px 0 14px;padding-left:22px}.legal-card li{margin:4px 0;color:var(--text)}.legal-card a{color:var(--checkz-accent-blue);text-decoration:none;border-bottom:1px solid rgba(77,163,255,.3);transition:color .15s ease,border-color .15s ease}.legal-card a:hover{color:var(--accent-hover);border-bottom-color:var(--accent-hover)}.legal-card .legal-index{list-style:none;margin:16px 0 0;padding:0;display:flex;flex-direction:column;gap:10px}.legal-card .legal-index li{margin:0;padding:0}.legal-card .legal-index a,.legal-card .legal-index-button{display:flex;flex-direction:column;gap:4px;width:100%;text-align:left;padding:14px 16px;background:var(--surface-elevated, rgba(255, 255, 255, .04));border:1px solid var(--border-soft);border-radius:10px;color:var(--text);text-decoration:none;cursor:pointer;font:inherit}.legal-card .legal-index a:hover,.legal-card .legal-index-button:hover{border-color:var(--checkz-accent-blue);color:var(--text)}.legal-card .legal-index strong{font-size:15px;font-weight:700}.legal-card .legal-index span{font-size:13px;color:var(--text-muted)}.legal-back{margin-top:24px!important;padding-top:0;border-top:0;display:flex;justify-content:center}.checkz-page-nav-row{display:flex;justify-content:space-between;align-items:center;padding:32px 4px 0}.checkz-page-nav-btn{width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;border:1px solid var(--border);background:transparent;color:var(--text-muted);cursor:pointer;padding:0;transition:background .12s ease,color .12s ease,border-color .12s ease}.checkz-page-nav-btn:hover{background:#8b5cf61a;color:var(--text);border-color:#8b5cf68c}.checkz-page-nav-btn:focus-visible{outline:2px solid var(--checkz-accent-blue);outline-offset:2px}.stats-modal,.settings-modal{text-align:left;max-width:380px}.stats-modal .modal-title,.settings-modal .modal-title{text-align:center;margin-bottom:18px}.stat-headline{text-align:center;margin:8px 0 18px;padding:18px 12px 16px;background:#ff6b351a;border:1px solid rgba(255,107,53,.22);border-radius:var(--radius-md)}.stat-headline-value{font-size:56px;font-weight:800;letter-spacing:-.02em;color:var(--streak);line-height:1}.stat-headline-label{margin-top:6px;font-size:13px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em;font-weight:600}.stat-headline-best{margin-left:6px;color:var(--streak)}.stats-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:0 0 6px}.stats-breakdown{margin:16px 0 4px;padding-top:14px;border-top:1px solid var(--border-soft)}.stats-breakdown-row{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;margin-top:8px}.bp{background:var(--surface-2);border:1px solid var(--border-soft);border-radius:var(--radius-md);padding:10px 8px;text-align:center}.bp-on{border-color:#8b5cf64d}.bp-count{display:block;font-size:22px;font-weight:800;color:var(--text);line-height:1.1}.bp-off .bp-count{color:var(--text-soft)}.bp-label{display:block;margin-top:2px;font-size:11px;color:var(--text-muted);font-weight:600;letter-spacing:.02em}.stats-meta{margin:14px 0 4px;font-size:12.5px;color:var(--text-soft);text-align:center;line-height:1.5}.stats-section{margin:18px 0 0;padding-top:14px;border-top:1px solid var(--border-soft)}.settings-heading-count{margin-left:6px;color:var(--text-soft);font-weight:500;text-transform:none;letter-spacing:0}.cal-grid{display:grid;grid-auto-flow:column;grid-template-rows:repeat(7,1fr);gap:3px;margin-top:10px}.cal-cell{width:100%;aspect-ratio:1 / 1;border-radius:3px;background:#7da0ff0f;border:1px solid transparent}.cal-attempted{background:#fbbf244d}.cal-solved{background:var(--accent);box-shadow:0 0 6px #8b5cf673}.cal-future{background:transparent;border:1px dashed rgba(125,160,255,.1)}.cal-today{outline:1.5px solid var(--checkz-accent-blue);outline-offset:1px}.achievements-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(96px,1fr));gap:8px;margin-top:10px}.badge{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:12px 8px 10px;background:var(--surface-2);border:1px solid var(--border-soft);border-radius:var(--radius-md);text-align:center;gap:6px;transition:border-color .15s ease,transform .05s ease}.badge-on{border-color:#8b5cf659;background:#8b5cf614}.badge-off{opacity:.7}.badge-label{font-size:11px;font-weight:600;letter-spacing:.02em;color:var(--text);line-height:1.25}.badge-off .badge-label{color:var(--text-muted)}.stat{background:var(--surface-2);border-radius:var(--radius-md);padding:14px 10px;text-align:center;border:1px solid var(--border-soft)}.stat-value{font-size:24px;font-weight:800;color:var(--text);line-height:1.1}.stat-value-small{font-size:14px;font-weight:600;color:var(--text)}.stat-label{margin-top:6px;font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted)}.settings-section{padding:12px 0;border-bottom:1px solid var(--border-soft)}.settings-section:last-of-type{border-bottom:0}.settings-heading{margin:0 0 10px;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted)}.settings-help{margin:8px 0 0;font-size:12.5px;color:var(--text-muted);line-height:1.45}.settings-toggle{display:inline-flex;align-items:center;gap:12px;cursor:pointer;padding:4px 0;font-size:14.5px;color:var(--text);user-select:none}.settings-toggle-input{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.settings-toggle-switch{position:relative;flex-shrink:0;width:40px;height:22px;background:var(--surface-2);border-radius:999px;box-shadow:0 0 0 1px var(--border) inset;transition:background-color .15s ease,box-shadow .15s ease}.settings-toggle-knob{position:absolute;top:2px;left:2px;width:18px;height:18px;background:var(--text-muted);border-radius:50%;transition:transform .18s cubic-bezier(.3,.9,.4,1.1),background-color .15s ease}.settings-toggle-input:checked+.settings-toggle-switch{background:var(--accent);box-shadow:0 0 0 1px var(--accent) inset}.settings-toggle-input:checked+.settings-toggle-switch .settings-toggle-knob{transform:translate(18px);background:#fff}.settings-toggle-input:focus-visible+.settings-toggle-switch{outline:2px solid var(--accent);outline-offset:2px}.settings-toggle-label{line-height:1.3}.settings-links{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.settings-links a{display:inline-block;padding:6px 0;font-size:14px;color:var(--text);text-decoration:none}.settings-links a:hover{color:var(--accent)}.site-footer{flex:0 0 auto;padding:4px 16px 24px;text-align:center;color:var(--text-soft);font-size:13px}.footer-promo{display:flex;flex-direction:column;gap:14px;max-width:528px;width:100%;margin:0 auto}.footer-promo-row{display:flex;gap:10px}.footer-promo-btn{flex:1 1 0;min-width:0;text-align:center;text-decoration:none;font-size:13px;font-weight:600;letter-spacing:.01em;color:var(--text);background:var(--surface-2);border:0;border-radius:12px;padding:10px 14px;box-shadow:0 0 0 1px var(--border) inset;transition:background-color .15s ease,color .15s ease,transform .05s ease,box-shadow .15s ease;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.footer-promo-btn:hover,.footer-promo-btn:focus-visible{background:var(--accent);color:#fff;box-shadow:0 0 0 1px var(--accent) inset,0 4px 14px -4px #8b5cf68c;outline:none}.footer-promo-btn:active{transform:translateY(1px)}.footer-promo-row--hub{justify-content:center}.footer-promo-btn--hub{flex:0 0 auto;min-width:140px;opacity:.7;font-size:12px;letter-spacing:.04em}.footer-promo-btn--hub:hover,.footer-promo-btn--hub:focus-visible{opacity:1}.footer-meta{margin-top:14px;color:var(--text-soft);font-size:13px}.footer-social{display:flex;justify-content:center;align-items:center;gap:8px;margin:14px 0}.social{display:inline-flex;align-items:center;justify-content:center;width:52px;height:52px;border-radius:50%;color:var(--text-soft);text-decoration:none;transition:color .15s ease,background-color .15s ease,transform .05s ease}.social svg{width:28px;height:28px}.social:hover{background:#ffffff0d}.social:active{transform:translateY(1px)}.social:focus-visible{outline:2px solid var(--checkz-accent-blue);outline-offset:2px}.social-fb:hover{color:#1877f2}.social-ig:hover{color:#e4405f}.social-tt:hover{color:#25f4ee}.social-yt:hover{color:red}@media (min-width: 640px){.footer-social{gap:14px;margin:18px 0}.social{width:60px;height:60px}.social svg{width:32px;height:32px}}@media (min-width: 640px){.main{padding-top:6px}.card{padding:20px 28px 28px}.card-title{font-size:28px}.wordmark{font-size:36px}.mode-tab{padding:7px 14px;font-size:13px}}@media (max-width: 440px){.card{padding:12px 16px 18px}.card-title{font-size:19px}.card-head{gap:8px}.card-head-meta{gap:6px}.pill{font-size:11px;padding:5px 10px}.mode-tab{padding:9px 16px;font-size:14px;font-weight:700}.mode-tabs{padding:4px}.difficulty-picker{width:100%;max-width:100%}.difficulty-chip{flex:1 1 0;min-width:0;padding:11px 4px;font-size:13px}}
