@import "https://fonts.googleapis.com/css2?family=Playfair+Display:wght@500;600&family=Inter:wght@400;500;600;700&family=IBM+Plex+Mono:wght@400;500;600&display=swap";:root{--font-serif:"Playfair Display", serif;--bg:#121212;--surface:#1c1c1c;--surface-2:#282828;--surface-3:#4a4a47;--text:#f5f5f2;--text-dim:#9c9c97;--accent:#e4e4e0;--accent-strong:#fff;--success:#7fa86b;--danger:#c15c4e;--border:#3a3a38;--sun:#d9a73b;--moon:#93a8cc;--hint:#d9a73b;--space-2:2px;--space-4:4px;--space-8:8px;--space-12:12px;--space-16:16px;--space-20:20px;--space-24:24px;--space-28:28px;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-full:999px;--radius-circle:50%;--font-sans:"Inter", ui-sans-serif, system-ui, -apple-system, sans-serif;--font-mono:"IBM Plex Mono", ui-monospace, monospace;--text-10:10px;--text-12:12px;--text-14:14px;--text-16:16px;--text-18:18px;--text-20:20px;--text-24:24px;--text-28:28px;--text-32:32px;--text-40:40px;--text-48:48px;--font-weight-semibold:600;--font-weight-bold:700;--leading-tight:1.2;--leading-normal:1.4;--leading-relaxed:1.6}.text-h1{font-family:var(--font-serif);font-size:var(--text-32);font-weight:var(--font-weight-semibold);line-height:var(--leading-tight)}.text-h2{font-family:var(--font-serif);font-size:var(--text-24);font-weight:var(--font-weight-semibold);line-height:var(--leading-tight)}.text-body{font-family:var(--font-sans);font-size:var(--text-14);line-height:var(--leading-normal)}.text-caption{font-family:var(--font-sans);font-size:var(--text-12);line-height:var(--leading-normal);color:var(--text-dim)}.ui-select{appearance:none;border:1px solid var(--border);color:var(--text);cursor:pointer;background-repeat:no-repeat;transition:border-color .15s}.ui-select:hover{border-color:var(--accent)}.ui-select option{background-color:var(--surface);color:var(--text)}.ui-select-heading{border-radius:var(--radius-md);background-color:var(--surface);background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='%239C9C97'><path d='M5.5 7.5l4.5 4.5 4.5-4.5' stroke='%239C9C97' stroke-width='1.8' fill='none' stroke-linecap='round' stroke-linejoin='round'/></svg>");background-position:right var(--space-12) center;padding:var(--space-8) 38px var(--space-8) var(--space-16);font-family:var(--font-serif);font-weight:var(--font-weight-semibold);font-size:var(--text-24);line-height:var(--leading-tight);background-size:16px 16px}.ui-select-heading option{font-family:var(--font-mono);font-size:var(--text-14)}@media (width<=480px){.ui-select-heading{font-size:var(--text-18)}}.ui-select-form-md{border-radius:var(--radius-sm);background-color:var(--surface);background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='%23A79A85'><path d='M5.5 7.5l4.5 4.5 4.5-4.5' stroke='%23A79A85' stroke-width='1.6' fill='none' stroke-linecap='round' stroke-linejoin='round'/></svg>");background-position:right var(--space-12) center;width:100%;max-width:220px;padding:var(--space-12) 36px var(--space-12) var(--space-16);font-family:inherit;font-size:var(--text-16);line-height:var(--leading-normal);background-size:16px}.ui-select-form-sm{border-radius:var(--radius-sm);background-color:var(--surface-2);background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='%23A79A85'><path d='M5.5 7.5l4.5 4.5 4.5-4.5' stroke='%23A79A85' stroke-width='1.6' fill='none' stroke-linecap='round' stroke-linejoin='round'/></svg>");background-position:right var(--space-8) center;width:auto;max-width:140px;padding:var(--space-4) 26px var(--space-4) var(--space-8);font-family:inherit;font-size:var(--text-12);background-size:14px}*{box-sizing:border-box}html,body{background:var(--bg);height:100%;color:var(--text);font-family:var(--font-sans);-webkit-tap-highlight-color:transparent;overscroll-behavior:none;margin:0;padding:0}button,.cell,.tcell,.zcell{-webkit-touch-callout:none;-webkit-user-select:none}.btn{cursor:pointer;border-radius:var(--radius-full);white-space:nowrap;justify-content:center;align-items:center;gap:6px;font-family:inherit;transition:border-color .12s,color .12s,background .12s;display:inline-flex}.btn-neutral{border:1px solid var(--border);background:var(--surface);color:var(--text-dim)}.btn-neutral:hover{border-color:var(--accent);color:var(--text)}.btn-outline{border:1px solid var(--accent);color:var(--accent-strong);font-weight:var(--font-weight-semibold);background:0 0}.btn-outline:hover{background:#ffffff1f}.btn-primary{border:1px solid var(--accent);background:var(--accent);color:var(--bg);font-weight:var(--font-weight-bold)}.btn-primary:hover{background:var(--accent-strong);border-color:var(--accent-strong)}.btn-primary:disabled{background:var(--accent)}.btn-danger{border:1px solid var(--danger);background:var(--danger);color:var(--accent-strong);font-weight:var(--font-weight-bold)}.btn-danger:hover{filter:brightness(1.1)}.btn-link{background:0 0;border:none;border-radius:0;padding:0;text-decoration:underline}.btn-link:hover{color:var(--text)}.btn-icon{flex-shrink:0;padding:0}.btn-square{border-radius:var(--radius-sm)}.card{background:var(--surface);border:1px solid var(--border)}.card-dialog{border-radius:14px;position:relative}.close-btn{border:1px solid var(--border);color:var(--text-dim);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute}.close-btn:after{content:"";border-radius:50%;position:absolute;inset:-8px}#app{touch-action:pan-y}#board{touch-action:none}.shell{height:100dvh;display:flex;overflow:hidden}.main-col{flex:1;justify-content:center;min-width:0;min-height:0;display:flex;overflow-y:auto}#app{flex-direction:column;align-items:center;gap:28px;width:100%;max-width:560px;min-height:0;margin:0 auto;padding:40px 20px 60px;display:flex;container:appcol/inline-size}@media (width<=480px){#app{gap:16px;padding:20px 12px 14px}h1{font-size:20px}}.sidebar{display:none}.desktop-only{display:none!important}@media (width>=1136px){.mobile-only{display:none!important}.desktop-only{display:grid!important}.touch-pad{display:none!important}.sidebar{border-right:1px solid var(--border);flex-direction:column;flex-shrink:0;gap:4px;width:230px;height:100%;padding:28px 16px;display:flex}#app{max-width:1600px;padding:28px 20px}}.sidebar-title{font-family:var(--font-serif);color:var(--text);align-items:center;gap:8px;padding:4px 12px 20px;font-size:22px;font-weight:600;display:flex}.brand-mark{flex-shrink:0;width:auto;height:30px}.sidebar-nav{flex-direction:column;gap:2px;display:flex}.sidebar-footer{border-top:1px solid var(--border);flex-direction:column;gap:2px;margin-top:auto;padding-top:12px;display:flex}.sidebar-item{text-align:left;color:var(--text-dim);cursor:pointer;text-overflow:ellipsis;white-space:nowrap;background:0 0;border:none;border-radius:8px;width:100%;padding:10px 12px;font-family:inherit;font-size:14px;overflow:hidden}.sidebar-item:hover{background:var(--surface);color:var(--text)}.sidebar-item.active{background:var(--accent);color:var(--bg);font-weight:600}.game-header{grid-template-columns:minmax(0,1fr) auto;align-items:center;width:100%;display:grid}.game-header-title-group{justify-self:start;align-items:center;gap:10px;min-width:0;display:flex}.game-header-title{font-family:var(--font-serif);color:var(--text);white-space:nowrap;font-size:22px;font-weight:600}.game-header-actions{flex-shrink:0;justify-self:end;align-items:center;gap:8px;display:flex}.leaderboard-btn{flex-shrink:0;padding:7px 14px;font-size:13px}.mobile-topbar{align-items:center;gap:8px;width:100%;display:flex}.mobile-topbar-title{font-family:var(--font-serif);color:var(--text);white-space:nowrap;text-overflow:ellipsis;font-size:18px;font-weight:600;overflow:hidden}.mobile-topbar-spacer{flex:1}.mobile-topbar .info-btn{width:34px;height:34px}.mobile-topbar .level-select-compact{background-color:var(--surface);border-radius:var(--radius-full);flex-shrink:0;max-width:none;height:34px;padding:0 28px 0 12px;font-size:14px}.mobile-topbar .info-btn:after{content:"";position:absolute;inset:-5px}.game-header .level-select-compact{background-color:var(--surface);border-radius:var(--radius-full);flex-shrink:0;max-width:none;height:32px;padding:0 28px 0 12px;font-size:13px}.title-row{flex-wrap:nowrap;justify-content:center;align-items:center;gap:8px;width:100%;display:flex}.title-row h1{white-space:nowrap}.info-btn{width:26px;height:26px;font-size:13px;font-weight:700;position:relative}.title-row-actions{flex-shrink:0;align-items:center;gap:8px;display:flex}.profile-chip{border:1px solid var(--border);background:var(--accent);width:26px;height:26px;color:var(--bg);cursor:pointer;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-family:inherit;font-size:12px;font-weight:700;display:flex}.auth-btn{padding:5px 12px;font-size:12px;font-weight:600}.auth-btn:disabled{opacity:.6;cursor:default}.auth-input{border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:999px;width:150px;padding:5px 10px;font-family:inherit;font-size:12px}.auth-btn-lg{padding:10px 18px;font-size:14px}.auth-btn-primary{font-weight:700}.auth-input-lg{width:100%;padding:10px 14px;font-size:14px}.auth-status{color:var(--text-dim);white-space:nowrap;font-size:11px}.auth-status-error{color:#e5484d}.auth-status-success{color:var(--success)}.auth-input-code{text-align:center;letter-spacing:.5em;font-family:IBM Plex Mono,monospace;font-size:20px}.auth-resend-btn{color:var(--text-dim);align-self:center;margin-top:4px;font-size:12px}.auth-resend-btn:disabled{opacity:.5;cursor:default;text-decoration:none}.auth-resend-btn:disabled:hover{color:var(--text-dim)}.auth-modal-overlay{background:var(--bg);z-index:60;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.auth-modal-box{width:100%;max-width:380px;padding:32px 24px 24px}.auth-modal-text{color:var(--text-dim);margin:0 0 18px;font-size:13px;line-height:1.6}.auth-modal-form{flex-direction:column;gap:12px;display:flex}.auth-modal-terms{color:var(--text-dim);margin:14px 0 0;font-size:11px;line-height:1.5}.auth-modal-terms a{color:var(--accent-strong)}.profile-page{flex-direction:column;gap:24px;width:100%;display:flex}.profile-header{align-items:center;gap:12px;display:flex}.profile-avatar{background:var(--accent);width:44px;height:44px;color:var(--bg);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:17px;font-weight:700;display:flex}.profile-identity{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.profile-email{color:var(--text-dim);word-break:break-all;font-size:12px}.profile-username-row{align-items:center;gap:6px;display:flex}.profile-username{color:var(--text);word-break:break-all;font-size:15px;font-weight:600}.profile-username-form{align-items:center;gap:6px;display:flex}.profile-username-form .auth-input{flex:1;min-width:0;padding:6px 10px;font-size:14px}.profile-edit-btn{width:24px;height:24px}.profile-edit-btn:disabled{opacity:.6;cursor:default}.profile-guest-note{border:1px solid var(--accent);background:#ffffff1a;border-radius:10px;flex-wrap:wrap;align-items:center;gap:12px;padding:12px 14px;display:flex}.profile-guest-note p{min-width:200px;color:var(--text-dim);flex:1;margin:0;font-size:13px;line-height:1.5}.profile-guest-note .auth-btn{flex-shrink:0}.profile-stats{flex-direction:column;gap:10px;display:flex}.profile-stat-card{border-radius:10px;padding:14px 16px}.profile-stat-game{color:var(--text);margin-bottom:8px;font-weight:600}.profile-stat-row{color:var(--text-dim);justify-content:space-between;padding:3px 0;font-size:13px;display:flex}.profile-level-list{border-top:1px solid var(--border);flex-direction:column;gap:2px;max-height:220px;margin:6px 0 0;padding:6px 0 0;list-style:none;display:flex;overflow-y:auto}.profile-level-row{color:var(--text-dim);justify-content:space-between;padding:3px 0;font-size:13px;display:flex}.profile-level-row:first-child{color:var(--accent-strong);font-weight:600}.profile-tabs{gap:var(--space-4);border-bottom:1px solid var(--border);display:flex}.profile-tab{padding:var(--space-8) var(--space-12);color:var(--text-dim);font:inherit;font-size:var(--text-14);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-1px;font-weight:600}.profile-tab:hover{color:var(--text)}.profile-tab[aria-selected=true]{color:var(--accent-strong);border-bottom-color:var(--accent-strong)}.profile-tab:focus-visible{outline:2px solid var(--accent);outline-offset:-2px;border-radius:var(--radius-sm) var(--radius-sm) 0 0}.profile-game-card{gap:var(--space-12);border-radius:10px;flex-direction:column;padding:14px 16px;display:flex}.profile-game-card .profile-stat-game{margin-bottom:0}.profile-metrics{gap:var(--space-8);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.profile-metric{background:var(--surface-2);border-radius:var(--radius-sm);flex-direction:column;gap:2px;min-width:0;padding:10px 12px;display:flex}.profile-metric-value{align-items:center;gap:var(--space-4);color:var(--text);font-size:var(--text-16);white-space:nowrap;text-overflow:ellipsis;font-weight:600;display:flex;overflow:hidden}.profile-metric-success{color:var(--success)}.streak-cold{color:var(--text-dim)}.streak-ember{color:#ffb347}.streak-flame{color:#ff8a2a}.streak-blaze{color:#ff6a1f}.streak-blaze .streak-icon{color:#ffb347;filter:drop-shadow(0 0 3px #ff6a1fe6)drop-shadow(0 0 8px #ff3c1480);transform-origin:50% 90%;animation:1.6s ease-in-out infinite streakFlicker}.streak-risk{color:#c98a4b}.streak-risk .streak-icon{animation:2.4s ease-in-out infinite streakBreathe}@keyframes streakFlicker{0%,to{transform:scale(1)rotate(0)}30%{transform:scale(1.08,1.12)rotate(-3deg)}60%{transform:scale(.96,1.04)rotate(2deg)}}@keyframes streakBreathe{0%,to{opacity:1}50%{opacity:.45}}@media (prefers-reduced-motion:reduce){.streak-blaze .streak-icon,.streak-risk .streak-icon{animation:none}}.profile-metric-danger{color:var(--danger)}.profile-metric-label{color:var(--text-dim);font-size:var(--text-12)}.profile-metric-sub{color:var(--text-dim);opacity:.8;font-size:11px}@media (width<=480px){.profile-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}.profile-results{border-top:1px solid var(--border);padding-top:var(--space-8)}.profile-results summary{cursor:pointer;color:var(--text-dim);padding:var(--space-4) 0;justify-content:space-between;align-items:center;font-size:13px;list-style:none;display:flex}.profile-results summary::-webkit-details-marker{display:none}.profile-results summary:hover{color:var(--text)}.profile-results-chevron{transition:transform .15s}.profile-results[open] .profile-results-chevron{transform:rotate(180deg)}.profile-history{gap:var(--space-16);padding-top:var(--space-8);flex-direction:column;display:flex}.profile-history-block{flex-direction:column;gap:6px;display:flex}.profile-history-title{color:var(--text-dim);text-transform:uppercase;letter-spacing:.04em;font-size:11px;font-weight:600}.profile-history-empty{color:var(--text-dim);margin:0;font-size:13px}.profile-history-more{align-self:center}.profile-history-error{align-items:center;gap:var(--space-12);flex-wrap:wrap;display:flex}.profile-table-wrap{overflow-x:auto}.profile-table{border-collapse:collapse;width:100%;color:var(--text-dim);font-size:13px}.profile-table th{text-align:left;font-weight:500;font-size:var(--text-12);border-bottom:1px solid var(--border);white-space:nowrap;padding:4px 8px 6px 0}.profile-table td{border-bottom:1px solid color-mix(in srgb, var(--border) 50%, transparent);white-space:nowrap;padding:5px 8px 5px 0}.profile-table tr:last-child td{border-bottom:none}.profile-table .profile-table-num{text-align:right;padding-right:0}.profile-table-record{color:var(--accent-strong);font-weight:600}.profile-table-record svg{margin-left:var(--space-4);vertical-align:-2px;color:var(--sun)}.profile-sections{gap:var(--space-12);flex-direction:column;display:flex}.profile-section{border-radius:var(--radius-md);gap:var(--space-12);flex-direction:column;padding:16px 20px;display:flex}.profile-section-title{color:var(--text-dim);font-size:var(--text-12);text-transform:uppercase;letter-spacing:.04em;margin:0;font-weight:600}.profile-avatar-section{align-items:center;gap:var(--space-16);flex-direction:row}.profile-avatar-lg{width:72px;height:72px;font-size:28px}.profile-avatar-meta{flex-direction:column;gap:4px;min-width:0;display:flex}.profile-field{flex-direction:column;gap:4px;display:flex}.profile-field-label{color:var(--text-dim);font-size:var(--text-12)}.profile-field-value{color:var(--text);font-size:var(--text-14);word-break:break-all}.profile-signout{align-self:flex-start}.profile-sections .profile-danger-zone{margin-top:0}.modal-overlay{z-index:50;background:#0009;justify-content:center;align-items:center;padding:24px;display:none;position:fixed;inset:0}.modal-overlay.open{display:flex}.modal-box{max-width:420px;max-height:80vh;padding:24px 20px;overflow-y:auto}.modal-title{font-family:var(--font-serif);color:var(--text);margin:0 0 12px;font-size:19px}.mobile-topbar .howto-pill{border-radius:var(--radius-full);white-space:nowrap;flex-shrink:0;align-items:center;gap:5px;height:34px;padding:0 12px;font-size:13px;display:inline-flex}.howto-label{letter-spacing:.06em;text-transform:uppercase;color:var(--text-dim);margin:14px 0 4px;font-size:11px;font-weight:600}.howto .modal-title+.howto-label{margin-top:0}.howto-goal{color:var(--text);margin:0;font-size:15px;line-height:1.5}.howto-steps,.howto-tips{flex-direction:column;gap:6px;margin:0;padding-left:20px;line-height:1.5;display:flex}.howto-steps{color:var(--text);font-size:14px}.howto-tips{color:var(--text-dim);font-size:13px}.modal-close{background:var(--surface-2);width:28px;height:28px;font-size:16px;top:10px;right:10px}h1{font-family:var(--font-serif);letter-spacing:-.01em;color:var(--text);margin:0;font-size:30px;font-weight:600}header{flex-direction:column;align-items:center;gap:18px;width:100%;display:flex}.subtitle{color:var(--text-dim);text-align:left;margin:0 0 10px;font-size:13px;line-height:1.5}.tabs{background:var(--surface);border:1px solid var(--border);border-radius:10px;gap:6px;padding:4px;display:flex}.tab{color:var(--text-dim);cursor:pointer;background:0 0;border:none;border-radius:7px;align-items:center;gap:6px;padding:8px 14px;font-family:inherit;font-size:13px;display:flex}.tab.active{background:var(--accent);color:var(--bg);font-weight:600}.tab.disabled{cursor:not-allowed;opacity:.55}.soon{background:#ffffff14;border-radius:5px;padding:2px 6px;font-size:10px}.board-area{flex:1;justify-content:center;align-items:center;width:100%;min-height:0;display:flex}.board-wrap{box-sizing:border-box;background:var(--surface);border:1px solid var(--border);border-radius:14px;flex-shrink:0;justify-content:center;align-items:center;padding:10px;transition:border-color .3s;display:flex;position:relative}.board-wrap.solved{border-color:var(--success)}.board-wrap.solved.no-celebrate:after{content:none}.board-wrap.solved:after{content:"";pointer-events:none;background:linear-gradient(120deg,#0000 35%,#7fa86b66 50%,#0000 65%) -120% -120%/250% 250%;border-radius:14px;animation:1.1s ease-out forwards shimmerSweep;position:absolute;inset:0}@keyframes shimmerSweep{0%{opacity:1;background-position:-120% -120%}to{opacity:0;background-position:120% 120%}}.board-start-overlay{z-index:4;background-color:var(--surface);cursor:pointer;background-position:50%;background-size:cover;border:none;border-radius:14px;justify-content:center;align-items:center;margin:0;padding:0;display:flex;position:absolute;inset:0;overflow:hidden}.board-start-overlay:before{content:"";background:#00000059;transition:background .2s;position:absolute;inset:0}.board-start-overlay:hover:before,.board-start-overlay:active:before,.board-start-overlay:focus-visible:before{background:#000000a6}.board-start-label{color:#fff;letter-spacing:.02em;text-shadow:0 2px 10px #0009;opacity:0;font-family:inherit;font-size:36px;font-weight:700;transition:opacity .2s;position:relative}.board-start-overlay:hover .board-start-label,.board-start-overlay:active .board-start-label,.board-start-overlay:focus-visible .board-start-label{opacity:1}.board{display:grid;position:relative}.cell{cursor:pointer;-webkit-user-select:none;user-select:none;touch-action:none;background:#444;border:none;justify-content:center;align-items:center;padding:0;transition:filter .1s;display:flex;position:relative}.cell:hover{filter:brightness(1.12)}.cell .mark{pointer-events:none;line-height:1}.cell .mark.queen{color:#fff;text-shadow:-1px -1px 1.5px #0009,1px -1px 1.5px #0009,-1px 1px 1.5px #0009,1px 1px 1.5px #0009;font-size:1.6em}.cell .mark.x{color:#d7d2c4;text-shadow:-1px -1px 1.5px #000000a6,1px -1px 1.5px #000000a6,-1px 1px 1.5px #000000a6,1px 1px 1.5px #000000a6;font-size:.55em}.cell.conflict{box-shadow:inset 0 0 0 3px var(--danger)}.tcell{background:var(--surface-2);cursor:pointer;-webkit-user-select:none;user-select:none;border:none;justify-content:center;align-items:center;padding:0;transition:filter .1s;display:flex}.tcell:hover{filter:brightness(1.18)}.tcell.given{background:var(--bg);cursor:default}.tcell.given:hover{filter:none}.tcell.conflict{box-shadow:inset 0 0 0 3px var(--danger)}.tango-board{position:relative}.sudoku-board{border:2px solid var(--text-dim);border-radius:6px;overflow:hidden}.scell{border:none;border-right:1px solid var(--border);border-bottom:1px solid var(--border);background:var(--surface-2);color:var(--moon);cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;justify-content:center;align-items:center;padding:0;font-family:inherit;font-weight:500;display:flex}.scell.given{color:var(--text);font-weight:700}.snotes{width:100%;height:100%;color:var(--text-dim);pointer-events:none;grid-template-rows:repeat(3,1fr);grid-template-columns:repeat(3,1fr);place-items:center;font-weight:500;line-height:1;display:grid}.scell.box-right{border-right:2px solid var(--text-dim)}.scell.box-bottom{border-bottom:2px solid var(--text-dim)}.scell-peer{background:#303030}.scell-same{background:#36404f}.scell-selected{box-shadow:inset 0 0 0 2px var(--accent);background:#36404f}.scell.conflict{color:var(--danger);background:#3a2522}.scell.conflict.scell-selected{box-shadow:inset 0 0 0 2px var(--danger)}.sudoku-pad{gap:var(--tile-gap);flex-shrink:0;width:100%;max-width:480px;display:grid}.sudoku-notes-bar{flex-wrap:wrap;flex-shrink:0;justify-content:center;align-items:center;gap:12px;display:flex}.sudoku-notes-toggle{padding:7px 14px;font-size:13px}.sudoku-notes-toggle.on{border-color:var(--moon);color:var(--moon);background:#93a8cc1f}.sudoku-notes-help{color:var(--text-dim);font-size:12px}.sudoku-notes-help kbd{border:1px solid var(--border);color:var(--text);border-bottom-width:2px;border-radius:4px;padding:1px 6px;font-family:inherit;font-size:11px}.sudoku-pad .sudoku-key{font-size:22px;font-weight:600}.sudoku-pad .sudoku-erase{height:auto}.tconn{background:var(--surface-2);color:var(--text-dim);pointer-events:none;z-index:2;border-radius:6px;justify-content:center;align-items:center;font-weight:700;display:flex;position:absolute;transform:translate(-50%,-50%)}.zcell{background:var(--surface-2);cursor:pointer;-webkit-user-select:none;user-select:none;touch-action:none;border:none;justify-content:center;align-items:center;padding:0;display:flex;position:relative}.zcell.conflict{box-shadow:inset 0 0 0 3px var(--danger);z-index:2}.zpath-overlay{pointer-events:none;z-index:1;position:absolute;top:0;left:0}.zgutter-h,.zgutter-v{background:0 0;border-radius:2px}.zgutter-h.wall,.zgutter-v.wall{background:var(--danger)}.status-row{align-items:center;gap:12px;width:100%;display:flex}.status-row .buttons{flex:1;min-width:0}.timer{letter-spacing:.02em;color:var(--accent-strong);flex-shrink:0;font-family:IBM Plex Mono,monospace;font-size:20px;font-weight:600}.view-result-btn{padding:9px 16px;font-size:13px;display:inline-grid}.view-result-btn>span{grid-area:1/1}.view-result-idle{visibility:hidden}.buttons{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.buttons.buttons-left{justify-content:flex-start}.buttons.buttons-right{justify-content:flex-end}.action-btn{color:var(--text);padding:9px 14px;font-size:13px}.action-btn svg{flex-shrink:0}@media (width<=1135px){.buttons{gap:8px}.action-btn{border-radius:50%;width:40px;height:40px;padding:0}.action-btn .btn-label{display:none}}.control-panel,.sudoku-pad{--tile-gap:8px}.control-panel{gap:var(--tile-gap);grid-template-columns:repeat(var(--tiles,4), calc((100% - 3 * var(--tile-gap)) / 4));flex-shrink:0;justify-content:center;width:100%;max-width:480px;display:grid}.control-tile{border:1px solid var(--border);background:var(--surface);min-width:0;height:56px;color:var(--text);text-align:center;cursor:pointer;-webkit-tap-highlight-color:transparent;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:4px;padding:0 4px;font-family:inherit;font-size:12px;font-weight:500;line-height:1.15;display:flex}.control-tile span{overflow-wrap:break-word;max-width:100%}.control-tile svg{flex-shrink:0;width:22px;height:22px}.control-tile:active:not(:disabled){background:var(--surface-2)}.control-tile:disabled{opacity:.4;cursor:default}.control-tile.confirm-armed,.action-btn.confirm-armed{border-color:var(--danger);color:var(--danger);background:#c15c4e2e}@media (width<=360px){.control-tile{gap:2px;padding:0 2px;font-size:11px}}@media (height<=640px){.control-tile{height:44px}.control-tile svg{width:18px;height:18px}.control-panel,.sudoku-pad{--tile-gap:6px}}@media (width<=1135px){.status-row-with-panel{display:none}}.control-panel-with-center{grid-template-columns:repeat(var(--tiles-before), minmax(0, 1fr)) auto repeat(var(--tiles-after), minmax(0, 1fr))}.control-panel-center{justify-content:center;align-items:center;min-width:0;padding:0 2px;display:flex}.control-panel-center .timer{font-size:18px}.view-result-pad{flex-shrink:0;justify-content:center;width:100%;max-width:480px}.view-result-pad.mobile-only{display:flex}.view-result-pad .view-result-btn{border-radius:12px;width:100%;height:56px;font-size:15px}.status-row-center{flex-direction:column;flex-shrink:0;align-items:center;gap:4px;display:flex}.switch{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:8px;display:flex}.switch input{opacity:0;width:0;height:0;position:absolute}.switch-track{background:var(--surface-2);border:1px solid var(--border);border-radius:999px;flex-shrink:0;width:34px;height:20px;transition:background .15s,border-color .15s;position:relative}.switch-thumb{background:var(--text-dim);border-radius:50%;width:14px;height:14px;transition:transform .15s,background .15s;position:absolute;top:2px;left:2px}.switch input:checked+.switch-track{border-color:var(--accent);background:#ffffff59}.switch input:checked+.switch-track .switch-thumb{background:var(--accent-strong);transform:translate(14px)}.switch-label{color:var(--text-dim);white-space:nowrap;font-size:12px}.game-header-level-locked{color:var(--text-dim);font-size:13px;font-weight:600}.autox-row{flex-shrink:0;justify-content:center;margin:-8px 0;padding:12px 16px}.win-overlay{z-index:6;text-align:center;box-sizing:border-box;background:#11140ffa;border-radius:14px;flex-direction:column;justify-content:center;align-items:center;gap:2px;padding:24px;display:flex;position:absolute;inset:0}.win-overlay-close{background:var(--surface);width:30px;height:30px;top:12px;right:12px}.win-overlay-close:hover{border-color:var(--accent);color:var(--text)}.battle-start-overlay{cursor:pointer;appearance:none;background-color:var(--surface);border:none;width:100%;font-family:inherit;transition:background-color .15s}.battle-start-overlay:hover{background-color:var(--surface-2)}.battle-start-overlay .win-overlay-title{margin-bottom:0;font-size:26px}.battle-start-overlay .win-overlay-time{margin-top:18px;font-size:36px}.battle-start-info{color:var(--text-dim);margin-top:10px;font-size:13px}.battle-start-info strong{color:var(--text)}.battle-start-hint{background:linear-gradient(135deg, var(--accent-strong), var(--accent));color:var(--bg);border-radius:999px;justify-content:center;align-items:center;margin-top:30px;padding:14px 28px;font-size:15px;font-weight:700;transition:transform .15s,box-shadow .15s,filter .15s;display:inline-flex;box-shadow:0 6px 20px #00000059}.battle-start-overlay:hover .battle-start-hint{filter:brightness(1.08);transform:translateY(-1px);box-shadow:0 8px 24px #00000073}.win-overlay-title{font-family:var(--font-serif);color:var(--success);justify-content:center;align-items:center;gap:6px;margin-bottom:6px;font-size:20px;font-weight:600;display:flex}.battle-start-overlay .win-overlay-title{color:var(--text)}.win-overlay-outcome-lose{color:var(--accent-strong)}.win-overlay-outcome-tie{color:var(--text-dim)}.win-overlay-time{color:var(--text);letter-spacing:.02em;font-size:48px;font-weight:700;line-height:1}.win-overlay-best{color:var(--text-dim);margin-top:10px;font-size:13px}.win-overlay-streak{color:var(--sun);justify-content:center;align-items:center;gap:6px;margin-top:10px;font-size:14px;font-weight:600;display:flex}.win-overlay-compare{flex-direction:column;gap:6px;width:240px;max-width:100%;margin-top:14px;display:flex}.win-overlay-compare-row{background:var(--surface-2);color:var(--text-dim);border-radius:8px;justify-content:space-between;align-items:center;gap:12px;padding:6px 12px;font-size:13px;display:flex}.win-overlay-compare-row span:first-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.win-overlay-compare-best{color:var(--success);background:#7fa86b29;font-weight:600}.push-invite{margin-top:var(--space-16);width:260px;max-width:100%;padding:var(--space-12);border:1px solid var(--border);align-items:center;gap:var(--space-8);border-radius:12px;flex-direction:column;display:flex}.push-invite-result{color:var(--text-dim);font-size:13px}.push-invite-title{color:var(--text);align-items:center;gap:6px;font-size:14px;font-weight:600;display:flex}.push-invite-text{color:var(--text-dim);margin:0;font-size:12px;line-height:1.4}.push-invite-actions{align-items:center;gap:var(--space-12);display:flex}.push-invite-enable{padding:8px 14px;font-size:13px}.install-steps{margin:var(--space-16) 0 0;gap:var(--space-12);text-align:left;flex-direction:column;padding:0;list-style:none;display:flex}.install-steps li{align-items:flex-start;gap:var(--space-12);color:var(--text);font-size:14px;line-height:1.4;display:flex}.install-steps li svg{color:var(--accent);flex-shrink:0;margin-top:1px}.push-invite-error{color:var(--danger);font-size:12px}.push-invite-later{color:var(--text-dim);cursor:pointer;background:0 0;border:none;padding:8px 4px;font-size:13px}.win-overlay-primary-btn{background:linear-gradient(135deg, var(--accent-strong), var(--accent));border:none;gap:8px;margin-top:20px;padding:14px 28px;font-size:15px;transition:transform .15s,box-shadow .15s,filter .15s;box-shadow:0 6px 20px #bca9e066}.win-overlay-primary-btn:hover{filter:brightness(1.08);transform:translateY(-1px);box-shadow:0 8px 24px #bca9e080}.win-overlay-primary-btn:active{transform:translateY(0)}.battle-status-message,.daily-loading-message{text-align:center;width:100%;color:var(--text-dim);padding:48px 16px;font-size:14px}@keyframes hintPulse{0%,to{box-shadow:inset 0 0 0 3px var(--hint), 0 0 6px 1px #d9a73b59}50%{box-shadow:inset 0 0 0 3px var(--hint), 0 0 16px 4px #d9a73bb3}}.hint-glow{z-index:2;animation:1.1s ease-in-out infinite hintPulse}#hintBtn:disabled{opacity:.5;cursor:default}.hint-text{color:var(--text-dim);text-align:left;border-top:1px solid var(--border);margin:0;padding-top:12px;font-size:12px;line-height:1.6}.leaderboard-overlay{background:var(--bg);z-index:55;position:fixed;inset:0}.leaderboard-panel{background:var(--surface);flex-direction:column;gap:22px;width:100%;height:100%;padding:20px;display:flex;overflow-y:auto}@media (width>=1136px){.leaderboard-overlay{background:0 0;flex-shrink:0;position:static;inset:auto}.leaderboard-panel{border-left:1px solid var(--border);width:320px;height:100vh;position:sticky;top:0}}.leaderboard-header{justify-content:space-between;align-items:center;display:flex}.leaderboard-title{font-family:var(--font-serif);color:var(--text);align-items:center;gap:8px;font-size:17px;font-weight:600;display:flex}.leaderboard-header .modal-close{position:static}.leaderboard-section{flex-direction:column;gap:10px;display:flex}.leaderboard-section-title-row{justify-content:space-between;align-items:center;gap:8px;display:flex}.leaderboard-section-title{color:var(--text);font-size:13px;font-weight:600}.leaderboard-list{flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}.leaderboard-row{border-radius:7px;align-items:center;gap:8px;padding:6px 8px;font-size:13px;display:flex}.leaderboard-row:nth-child(odd){background:var(--surface-2)}.leaderboard-rank{width:16px;color:var(--accent-strong);flex-shrink:0;font-weight:600}.leaderboard-name{min-width:0;color:var(--text);text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.leaderboard-level-tag{color:var(--text-dim);flex-shrink:0;font-size:11px}.leaderboard-time{color:var(--text-dim);flex-shrink:0}.leaderboard-empty{color:var(--text-dim);font-size:12px}.daily-title-mobile{align-items:center;gap:8px;display:flex;overflow:hidden}.daily-solved-tag{border:1px solid var(--success);color:var(--success);text-transform:uppercase;letter-spacing:.03em;background:#7fa86b26;border-radius:999px;flex-shrink:0;align-items:center;padding:3px 10px;font-size:11px;font-weight:700;display:inline-flex}.daily-solved-tag-lost{border-color:var(--danger);color:var(--danger);background:#c56b6b26}.daily-podium{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.daily-podium-item{border:1px solid var(--border);background:var(--surface-2);border-radius:8px;align-items:center;gap:10px;padding:10px 12px;display:flex}.daily-podium-name{min-width:0;color:var(--text);text-overflow:ellipsis;white-space:nowrap;flex:1;font-weight:600;overflow:hidden}.daily-podium-time{color:var(--text-dim);flex-shrink:0;font-size:13px}.daily-medal-gold{color:#d9a73b;border-color:#d9a73b}.daily-medal-silver{color:#b9c1cc;border-color:#b9c1cc}.daily-medal-bronze{color:#c08552;border-color:#c08552}.nav-modal-overlay{background:var(--bg);z-index:60;flex-direction:column;gap:24px;padding:20px;display:flex;position:fixed;inset:0;overflow-y:auto}.nav-modal-header{justify-content:space-between;align-items:center;display:flex}.nav-modal-title{font-family:var(--font-serif);color:var(--text);align-items:center;gap:8px;font-size:22px;font-weight:600;display:flex}.nav-modal-list{flex-direction:column;gap:6px;display:flex}.nav-modal-item{text-align:left;border:1px solid var(--border);background:var(--surface);color:var(--text-dim);cursor:pointer;text-overflow:ellipsis;white-space:nowrap;border-radius:10px;width:100%;padding:16px 18px;font-family:inherit;font-size:17px;overflow:hidden}.nav-modal-item:hover{border-color:var(--accent);color:var(--text)}.nav-modal-item.active{background:var(--accent);color:var(--bg);border-color:var(--accent);font-weight:600}.nav-modal-footer{border-top:1px solid var(--border);margin-top:auto;padding-top:16px}.crash-screen{justify-content:center;align-items:center;gap:var(--space-12);text-align:center;background:var(--bg);flex-direction:column;min-height:100vh;padding:24px;display:flex}.crash-screen-title{font-family:var(--font-serif);font-size:var(--text-24);margin:0}.crash-screen-text{color:var(--text-dim);font-size:var(--text-14);max-width:360px;margin:0 0 8px}.locale-switcher{gap:2px;padding:6px 12px 0;display:flex}.nav-modal-footer .locale-switcher{padding-top:12px}.locale-option{letter-spacing:.04em;color:var(--text-dim);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:4px 8px;font-family:inherit;font-size:12px;font-weight:600}.locale-option:hover{color:var(--text)}.locale-option.active{color:var(--text);background:var(--surface-2)}.content-locale-badge{border:1px solid var(--border);letter-spacing:.04em;color:var(--text-dim);vertical-align:1px;border-radius:4px;margin-left:6px;padding:1px 5px;font-size:10px;font-weight:600}.termo-page{box-sizing:border-box;flex-direction:column;align-items:center;gap:14px;display:flex;position:relative}.termo-wrap{box-sizing:border-box;background:var(--surface);border:1px solid var(--border);border-radius:14px;flex-direction:column;align-items:center;gap:14px;padding:16px;transition:border-color .3s;display:flex;position:relative}.termo-grid{flex-direction:column;gap:6px;display:flex}.termo-row{gap:6px;display:flex}@keyframes termoShake{10%,90%{transform:translate(-2px)}20%,80%{transform:translate(4px)}30%,50%,70%{transform:translate(-8px)}40%,60%{transform:translate(8px)}}.termo-row-shake{animation:.5s termoShake}.termo-cell{width:var(--termo-cell,48px);height:var(--termo-cell,48px);border:2px solid var(--border);font-family:IBM Plex Mono,monospace;font-size:calc(var(--termo-cell,48px) * .458);color:var(--text);text-transform:uppercase;background:var(--surface-2);border-radius:6px;justify-content:center;align-items:center;font-weight:700;display:flex}.termo-cell-filled{border-color:var(--text-dim)}.termo-cell-cursor{border-color:var(--accent);animation:1.2s ease-in-out infinite termoCursorPulse}@keyframes termoCursorPulse{0%,to{border-color:var(--accent)}50%{border-color:var(--border)}}.termo-cell-correct{background:var(--success);border-color:var(--success);color:var(--bg)}.termo-cell-present{background:var(--sun);border-color:var(--sun);color:var(--bg)}.termo-cell-absent{background:var(--surface-2);border-color:var(--border);color:var(--text-dim)}.termo-toast{z-index:3;background:var(--accent-strong);max-width:calc(100% - 24px);color:var(--bg);text-align:center;white-space:nowrap;pointer-events:none;border-radius:10px;padding:6px 14px;font-size:13px;font-weight:600;position:absolute;top:0;left:50%;transform:translate(-50%,-50%);box-shadow:0 4px 14px #00000073}.termo-toast strong{letter-spacing:.04em}.termo-toast-error{animation:2s forwards termoToast}@keyframes termoToast{0%{opacity:0}10%,75%{opacity:1}to{opacity:0}}.letter-keyboard-wrap{box-sizing:border-box;background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:4px}.letter-keyboard{flex-direction:column;gap:6px;width:100%;display:flex}.letter-key-row{--letter-key-width:min(calc(var(--letter-key,42px) * .9), calc((100% - 36px) / 10));justify-content:center;gap:4px;display:flex}.letter-key{flex:0 0 var(--letter-key-width);min-width:0;height:var(--letter-key,42px);background:var(--surface-2);color:var(--text);font-family:inherit;font-size:calc(var(--letter-key,42px) * .3);text-transform:uppercase;cursor:pointer;touch-action:manipulation;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;border:none;border-radius:6px;padding:0;font-weight:700}.letter-key:hover{filter:brightness(1.15)}.letter-key:active:not(:disabled){filter:brightness(1.35)}.letter-key:disabled{opacity:.6;cursor:default}.letter-key-action{max-width:calc(var(--letter-key-width) * 2);font-size:calc(var(--letter-key,42px) * .3);flex:1 1 0;justify-content:center;align-items:center;display:flex}.letter-key-action svg{width:calc(var(--letter-key,42px) * .4);height:calc(var(--letter-key,42px) * .4);max-width:28px;max-height:28px}.letter-key-submit{background:var(--accent);color:var(--bg)}.letter-key-backspace{background:var(--surface-3)}@media (width<=480px){.letter-key-action{max-width:none}}.letter-key-submit:hover{filter:brightness(1.1)}.letter-key-correct{background:var(--success);color:var(--bg)}.letter-key-present{background:var(--sun);color:var(--bg)}.letter-key-absent{background:var(--bg);color:var(--text-dim)}.profile-danger-zone{border:1px solid color-mix(in srgb, var(--danger) 45%, var(--border));background:color-mix(in srgb, var(--danger) 8%, var(--surface));border-radius:12px;flex-direction:column;gap:14px;margin-top:12px;margin-bottom:24px;padding:18px 20px;display:flex}.profile-danger-heading{color:var(--danger);text-transform:uppercase;letter-spacing:.04em;align-items:center;gap:8px;font-size:13px;font-weight:600;display:flex}.profile-danger-text{color:var(--text-dim);margin:0;font-size:13px;line-height:1.5}.profile-danger-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.auth-btn-danger{align-self:flex-start;font-weight:700}.update-prompt{left:50%;bottom:var(--space-16);z-index:70;align-items:center;gap:var(--space-16);padding:var(--space-12) var(--space-16);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-2);color:var(--text);max-width:calc(100vw - 32px);font-size:13px;display:flex;position:fixed;transform:translate(-50%);box-shadow:0 8px 24px #0006}.update-prompt-actions{gap:var(--space-8);flex-shrink:0;display:flex}.update-prompt-btn{padding:var(--space-8) var(--space-12);font-size:13px}.xw-layout{justify-content:center;align-items:center;gap:var(--space-24);width:100%;height:100%;min-height:0;display:flex;container-type:inline-size}.xw-board-slot{flex:1;justify-content:center;align-items:center;min-width:0;height:100%;display:flex}.crossword-board{border:2px solid var(--text-dim);background:var(--text-dim);gap:1px}.xcell{background:var(--surface);color:var(--text);cursor:pointer;-webkit-tap-highlight-color:transparent;border:none;justify-content:center;align-items:center;padding:0;font-family:inherit;font-weight:600;display:flex;position:relative}.xcell-block{cursor:default;background:#000}.xcell-num{color:var(--text-dim);font-weight:500;line-height:1;position:absolute;top:2px;left:4px}.xcell-word{background:#303030}.xcell-selected{box-shadow:inset 0 0 0 2px var(--accent);background:#36404f}.xcell-ok{color:var(--success)}.xcell-bad{color:var(--danger);background:#3a2522}.xcell-bad.xcell-selected{box-shadow:inset 0 0 0 2px var(--danger)}.xw-loading{padding:var(--space-16);text-align:center;color:var(--text-dim);font-size:var(--text-14)}.xclues{align-content:start;align-self:center;gap:var(--space-12);flex:0 0 280px;max-height:100%;overflow-y:auto}.xclues-section{flex-direction:column;gap:2px;display:flex}.xclues.xclues-two{column-gap:var(--space-12);flex-basis:480px;grid-template-columns:1fr 1fr}@container (width<=960px){.xclues.xclues-two{flex-basis:280px;grid-template-columns:1fr}}.xclues-title{margin:0 0 var(--space-4) var(--space-8);font-size:var(--text-12);letter-spacing:.08em;text-transform:uppercase;color:var(--text-dim)}.xclue{gap:var(--space-8);padding:6px var(--space-8);border-radius:var(--radius-sm);color:var(--text);font-family:inherit;font-size:var(--text-14);text-align:left;cursor:pointer;background:0 0;border:none;display:flex}.xclue:hover:not(:disabled){background:var(--surface-2)}.xclue:disabled{cursor:default}.xclue-active{background:#36404f}.xclue-crossing{background:#303030}.xclue-num{min-width:18px;color:var(--text-dim);font-weight:600}.xclue-hidden{border-radius:var(--radius-full);background:var(--surface-2);flex:1;max-width:160px;height:10px;margin-top:5px}.xw-pad{gap:var(--space-8);flex-direction:column;flex-shrink:0;width:100%;max-width:480px}.xw-pad.touch-pad{display:flex}.board-and-pad,.pad-slot{display:contents}.xw-keyboard{--letter-key:42px}.xclue-bar{align-items:stretch;gap:var(--space-4);width:100%;padding:var(--space-4);background:#36404f;border-radius:12px;flex-shrink:0;display:flex}.xclue-bar-step{border-radius:var(--radius-sm);color:var(--text);cursor:pointer;background:0 0;border:none;flex:0 0 40px;justify-content:center;align-items:center;display:flex}.xclue-bar-text{align-items:center;gap:var(--space-8);min-width:0;min-height:44px;color:var(--text);font-family:inherit;font-size:var(--text-14);text-align:left;background:0 0;border:none;flex:1;display:flex}.xclue-bar-step:disabled{opacity:.5;cursor:default}.xclue-bar-empty{color:var(--text-dim)}.daily-expired-note{max-width:280px;font-size:var(--text-14);text-align:center;color:var(--text-dim);margin:0;line-height:1.4}.cc-layout{justify-content:center;align-items:center;width:100%;height:100%;min-height:0;display:flex}.cc-wrap{flex-direction:column;justify-content:safe center;align-items:center;width:100%;max-width:480px;height:100%;display:flex;position:relative;overflow-y:auto}@media (height<=620px){.cc-keyboard{--letter-key:36px}}.cc-hint{min-height:var(--cc-hint,30px);font-size:var(--text-12);color:var(--text-dim);text-align:center;align-items:center;display:flex}.cc-ladder{align-items:center;gap:var(--cc-gap,7px);flex-direction:column;display:flex}.cc-rung{padding:var(--cc-pad-y,5px) 8px;border:1px solid var(--border);background:var(--surface);cursor:pointer;touch-action:manipulation;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;border-radius:12px;align-items:center;gap:8px;transition:transform .15s;display:flex}.cc-rung-selected{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.cc-rung-ok .cc-cell{color:var(--success)}.cc-rung-locked{opacity:.45;cursor:default}.cc-rung-draggable{cursor:grab;touch-action:none}.cc-rung-drag{z-index:2;cursor:grabbing;border-color:var(--accent);transition:none;position:relative;box-shadow:0 10px 24px #0009}.cc-cell{width:var(--cc-cell);height:var(--cc-cell);background:var(--surface-2);font-size:var(--cc-font);border-radius:8px;justify-content:center;align-items:center;font-weight:700;display:flex}.cc-cell-cursor{box-shadow:inset 0 0 0 2px var(--accent)}.cc-side{width:22px;color:var(--text-dim);justify-content:center;align-items:center;display:flex}.cc-check{color:var(--success)}.cc-handle{color:var(--text-dim);cursor:grab;background:0 0;border:none;padding:0;display:flex}.cc-desktop-clue{width:100%;margin-top:var(--space-16)}@media (width>=1136px) and (hover:none) and (pointer:coarse){.xw-pad.touch-pad{display:flex!important}.sudoku-pad.touch-pad{display:grid!important}.cc-desktop-clue.desktop-only{display:none!important}.board-and-pad:has(.touch-pad-side){align-items:center;gap:var(--space-24);flex:1;width:100%;min-height:0;display:flex}.board-and-pad:has(.touch-pad-side)>.board-area{min-width:0;height:100%}.board-and-pad:has(.touch-pad-side)>.pad-slot{justify-content:center;gap:var(--space-12);flex-direction:column;flex:0 0 380px;display:flex}.board-and-pad:has(.sudoku-pad.touch-pad-side)>.pad-slot{flex-basis:280px}.sudoku-pad.touch-pad-side{grid-template-columns:repeat(3,minmax(0,1fr))!important}.sudoku-pad.touch-pad-side .sudoku-key{height:64px;grid-area:auto!important}.sudoku-pad.touch-pad-side .sudoku-erase{flex-direction:row;height:56px;grid-area:auto/1/auto/-1!important}.xw-pad:not(.cc-pad) .xclue-bar{display:none}.board-and-pad:has(.xw-pad:not(.cc-pad)){column-gap:var(--space-24);row-gap:var(--space-12);flex:1;grid-template-rows:minmax(0,1fr) auto;grid-template-columns:minmax(0,1fr) 300px;width:100%;min-height:0;display:grid}.board-and-pad:has(.xw-pad:not(.cc-pad))>.board-area{display:contents}.board-and-pad:has(.xw-pad:not(.cc-pad))>.board-area>.xw-layout{display:contents}.board-and-pad:has(.xw-pad:not(.cc-pad)) .xw-board-slot{grid-area:1/1;height:100%;min-height:0}.board-and-pad:has(.xw-pad:not(.cc-pad)) .xclues{grid-area:1/2/span 2;grid-template-columns:1fr;align-self:stretch;max-height:100%}.board-and-pad:has(.xw-pad:not(.cc-pad)) .xw-pad{grid-area:2/1;justify-self:center}.sudoku-notes-help{display:none}}
