:root{--void:#070a12;--surface:#0c111d;--surface-2:#111827;--surface-3:#172135;--line:#26344d;--line-strong:#415577;--text:#f3f7ff;--muted:#92a1b9;--dim:#637089;--cyan:#42e8ff;--cyan-bright:#aaf7ff;--cyan-soft:#42e8ff1c;--blue:#5f82ff;--violet:#bd8cff;--danger:#ff5d73;--danger-soft:#ff5d7324;--gold:#ffce68;--shadow:0 24px 70px #00000070}*{box-sizing:border-box}html{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;background:var(--void);scroll-behavior:smooth;min-height:100%}body{min-height:100%;color:var(--text);background:var(--void);-webkit-font-smoothing:antialiased;margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif;overflow-x:hidden}body:before{content:"";z-index:-2;background:radial-gradient(circle at 15% 5%,#3769ff29,#0000 30%),radial-gradient(circle at 85% 75%,#42e8ff17,#0000 32%),linear-gradient(#ffffff05 1px,#0000 1px) 0 0/44px 44px,linear-gradient(90deg,#ffffff05 1px,#0000 1px) 0 0/44px 44px;position:fixed;inset:0}button,input{font:inherit}button,a{touch-action:manipulation;-webkit-tap-highlight-color:#42e8ff1f}button{color:inherit}button:focus-visible,a:focus-visible,.sudoku-board:focus-visible{outline:2px solid var(--cyan);outline-offset:3px}button:disabled{cursor:not-allowed}svg{flex:none}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{z-index:100;color:#051016;background:var(--cyan);border-radius:8px;padding:10px 14px;font-weight:800;text-decoration:none;transition:transform .15s;position:fixed;top:12px;left:16px;transform:translateY(-150%)}.skip-link:focus{transform:translateY(0)}.loading{place-items:center;gap:12px;min-height:100dvh;display:grid}.loading .brand-mark{animation:1.4s ease-in-out infinite load-pulse}.brand{color:var(--text);letter-spacing:.12em;align-items:center;gap:10px;font-size:16px;font-weight:800;display:inline-flex}.brand-mark{width:36px;height:36px;color:var(--cyan-bright);background:linear-gradient(145deg,#42e8ff24,#5f82ff14);border:1px solid #42e8ffa6;border-radius:9px;place-items:center;font-weight:800;display:inline-grid;box-shadow:inset 0 0 18px #42e8ff14,0 0 20px #42e8ff1a}.brand-suffix{color:var(--dim);letter-spacing:.24em;margin-left:2px;font-size:8px;font-weight:700}.brand-button{cursor:pointer;background:0 0;border:0;padding:3px}.icon-button{border:1px solid var(--line);cursor:pointer;width:44px;height:44px;color:var(--muted);background:#111827b8;border-radius:11px;place-items:center;transition:color .15s,border-color .15s,background-color .15s,transform .15s;display:grid}.icon-button:hover{color:var(--cyan-bright);background:var(--cyan-soft);border-color:#42e8ff73}.icon-button:active{transform:scale(.96)}.home-shell{max-width:1240px;min-height:100dvh;padding:calc(22px + env(safe-area-inset-top)) max(28px, env(safe-area-inset-right)) calc(28px + env(safe-area-inset-bottom)) max(28px, env(safe-area-inset-left));margin:auto;overflow-x:hidden}.home-header,.game-header{justify-content:space-between;align-items:center;display:flex}.home-header{min-height:48px}.settings-card,.game-settings{z-index:20;border:1px solid var(--line);width:min(350px,100vw - 32px);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#0c111df7;border-radius:14px;padding:20px;position:absolute;top:78px;right:max(28px,50vw - 592px)}.settings-card:before,.game-settings:before{content:"PREFERENCES";color:var(--cyan);letter-spacing:.2em;margin-bottom:16px;font-size:9px;font-weight:800;display:block}.settings-card>div{margin-bottom:18px}.settings-card strong{font-size:15px}.settings-card p{color:var(--muted);margin:6px 0;font-size:12px}.switch-row{min-height:44px;color:var(--muted);cursor:pointer;align-items:center;gap:12px;font-size:13px;display:flex}.switch-row>span:first-child{flex:1}.switch-row input{opacity:0;pointer-events:none;position:absolute}.switch{background:#263249;border-radius:99px;width:46px;height:26px;transition:background-color .18s;position:relative}.switch:after{content:"";background:var(--muted);border-radius:50%;width:18px;height:18px;transition:transform .18s,background-color .18s,box-shadow .18s;position:absolute;top:4px;left:4px}.switch-row input:focus-visible+.switch{outline:2px solid var(--cyan);outline-offset:3px}.switch-row input:checked+.switch{background:#42e8ff3d}.switch-row input:checked+.switch:after{background:var(--cyan);transform:translate(20px);box-shadow:0 0 12px #42e8ffb3}.landing-hero{grid-template-columns:minmax(0,1.08fr) minmax(390px,.92fr);align-items:center;gap:clamp(46px,7vw,96px);min-height:min(720px,100dvh - 70px);padding:clamp(54px,8vh,88px) 0 72px;display:grid}.hero-copy{min-width:0}.eyebrow{color:var(--cyan);letter-spacing:.17em;text-transform:uppercase;align-items:center;gap:9px;font-size:10px;font-weight:800;display:inline-flex}.eyebrow .status-dot{margin-right:1px}.landing-hero h1{text-wrap:balance;letter-spacing:-.055em;max-width:690px;margin:20px 0 22px;font-size:clamp(47px,6vw,76px);font-weight:760;line-height:1.08}.landing-hero h1 em{color:#0000;background:linear-gradient(90deg, var(--cyan-bright), var(--cyan), #87a2ff);text-shadow:0 0 34px #42e8ff1f;-webkit-background-clip:text;background-clip:text;font-style:normal}.landing-hero .hero-copy>p{color:#a6b4c9;text-wrap:pretty;max-width:570px;margin:0;font-size:15px;line-height:1.85}.hero-actions{flex-wrap:wrap;align-items:center;gap:12px;margin-top:30px;scroll-margin-top:30px;display:flex}.hero-primary{min-width:180px;min-height:54px}.hero-secondary{border:1px solid var(--line);min-height:54px;color:var(--text);background:#1118278c;border-radius:10px;justify-content:center;align-items:center;gap:7px;padding:0 18px;font-size:13px;font-weight:700;text-decoration:none;transition:border-color .15s,background-color .15s,color .15s;display:inline-flex}.hero-secondary:hover{background:var(--cyan-soft);color:var(--cyan-bright);border-color:#42e8ff8c}.hero-proof{color:var(--muted);flex-wrap:wrap;gap:10px 20px;margin-top:19px;font-size:10px;display:flex}.hero-proof span{align-items:center;gap:6px;display:inline-flex}.hero-proof svg{color:var(--cyan)}.hero-preview{background:linear-gradient(145deg,#121b2cf5,#080d17fa);border:1px solid #30415f;border-radius:22px;justify-self:end;width:min(100%,470px);padding:19px;position:relative;transform:perspective(1200px)rotateY(-3deg)rotateX(1deg);box-shadow:0 36px 90px #00000078,0 0 60px #42e8ff12}.hero-preview:before{content:"";border-radius:inherit;pointer-events:none;background:linear-gradient(135deg,#42e8ff40,#0000 30% 72%,#5f82ff33);padding:1px;position:absolute;inset:-1px;-webkit-mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);-webkit-mask-position:0 0,0 0;mask-position:0 0,0 0;-webkit-mask-size:auto,auto;mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}.preview-top{color:var(--cyan-bright);letter-spacing:.05em;justify-content:space-between;align-items:center;margin-bottom:13px;font-size:10px;font-weight:750;display:flex}.preview-top span:last-child{color:var(--muted);font-variant-numeric:tabular-nums;align-items:center;gap:6px;display:flex}.preview-board{aspect-ratio:1;background:#34445e;border:1px solid #506788;border-radius:5px;grid-template-columns:repeat(9,1fr);gap:1px;width:100%;padding:2px;display:grid;overflow:hidden}.preview-board>span{color:#f2f6ff;font-variant-numeric:tabular-nums;background:#0d1523;place-items:center;min-width:0;font-size:clamp(13px,1.7vw,21px);font-weight:720;display:grid;position:relative}.preview-board>.preview-filled{color:var(--cyan)}.preview-board>.preview-active{box-shadow:inset 0 0 0 2px var(--cyan);z-index:2;background:#42e8ff30}.preview-board>.preview-box-right{border-right:2px solid #647b9d}.preview-board>.preview-box-bottom{border-bottom:2px solid #647b9d}.preview-controls{grid-template-columns:repeat(9,1fr);gap:5px;margin-top:12px;display:grid}.preview-controls i{color:#afbdd2;background:#111a2a;border:1px solid #283750;border-radius:6px;place-items:center;height:31px;font-size:11px;font-style:normal;display:grid}.preview-glow{z-index:-1;filter:blur(20px);background:radial-gradient(circle,#42e8ff26,#0000 68%);position:absolute;inset:20% -12% -12% 20%}.resume-card{text-align:left;cursor:pointer;background:linear-gradient(90deg,#42e8ff17,#5f82ff0d);border:1px solid #42e8ff4d;border-radius:13px;align-items:center;gap:13px;width:100%;max-width:520px;min-height:72px;padding:13px 15px;transition:transform .18s,box-shadow .18s,border-color .18s;display:flex}.resume-card:hover{border-color:var(--cyan);transform:translateY(-2px);box-shadow:0 12px 32px #0000004d,0 0 22px #42e8ff14}.resume-card>span:nth-child(2){flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.resume-card small{color:var(--cyan);letter-spacing:.13em;font-size:9px;font-weight:800}.resume-card strong{font-size:14px}.resume-icon{color:#071015;background:var(--cyan);border-radius:9px;place-items:center;width:42px;height:42px;display:grid;box-shadow:0 0 18px #42e8ff38}.landing-resume{max-width:430px;min-height:64px;margin-top:22px}.landing-resume .resume-icon{width:38px;height:38px}.experience-section,.difficulty-section{border-top:1px solid #4155776b;padding:94px 0;scroll-margin-top:24px}.section-heading{max-width:620px;margin-bottom:34px}.section-heading .section-index{margin-bottom:12px;display:block}.section-heading h2{text-wrap:balance;letter-spacing:-.04em;margin:0;font-size:clamp(30px,4vw,44px);line-height:1.15}.section-heading p{color:var(--muted);margin:13px 0 0;font-size:13px;line-height:1.7}.section-index{color:var(--cyan);letter-spacing:.16em;font-size:9px;font-weight:800}.feature-grid{border:1px solid var(--line);background:var(--line);border-radius:16px;grid-template-columns:repeat(3,1fr);gap:1px;display:grid;overflow:hidden}.feature-grid article{background:linear-gradient(145deg,#111827,#0c121f);min-width:0;padding:30px}.feature-icon{width:42px;height:42px;color:var(--cyan);background:var(--cyan-soft);border:1px solid #42e8ff4d;border-radius:11px;place-items:center;margin-bottom:23px;display:grid}.feature-grid h3{margin:0 0 9px;font-size:17px}.feature-grid p{color:var(--muted);text-wrap:pretty;margin:0;font-size:12px;line-height:1.75}.difficulty-heading{grid-template-columns:1fr auto;column-gap:30px;max-width:none;display:grid}.difficulty-heading .section-index{grid-column:1/-1}.difficulty-heading p{align-self:end;max-width:410px;margin-top:5px}.difficulty-grid{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.difficulty-card{border:1px solid var(--line);min-height:174px;color:var(--text);text-align:left;cursor:pointer;background:linear-gradient(145deg,#111827f0,#0a0f1af0);border-radius:14px;flex-direction:column;padding:22px;transition:transform .18s,border-color .18s,background-color .18s,box-shadow .18s;display:flex;position:relative;overflow:hidden}.difficulty-card:after{content:"";border:1px solid #42e8ff1a;width:120px;height:120px;position:absolute;bottom:-64px;right:-66px;transform:rotate(45deg)}.difficulty-card:hover{border-color:#42e8ff8c;transform:translateY(-3px);box-shadow:0 16px 34px #00000047,inset 0 0 30px #42e8ff06}.dot-level{gap:5px;margin-bottom:24px;display:flex}.dot-level i{background:#28354c;border-radius:4px;width:18px;height:3px}.dot-level i.active{background:var(--cyan);box-shadow:0 0 8px #42e8ff73}.difficulty-card.medium .dot-level i.active{background:var(--blue);box-shadow:0 0 8px #5f82ff73}.difficulty-card.hard .dot-level i.active{background:var(--danger);box-shadow:0 0 8px #ff5d7373}.difficulty-copy{flex-direction:column;display:flex}.difficulty-copy strong{font-size:22px;font-weight:730}.difficulty-copy small{color:var(--muted);margin-top:5px}.best-time{color:var(--dim);font-variant-numeric:tabular-nums;align-items:center;gap:5px;margin-top:auto;font-size:10px;display:flex}.card-arrow{color:var(--dim);position:absolute;top:50%;right:21px}.final-cta{background:radial-gradient(circle at 90%,#42e8ff1a,#0000 34%),linear-gradient(135deg,#111a2b,#0a101c);border:1px solid #42e8ff40;border-radius:18px;justify-content:space-between;align-items:center;gap:28px;margin-top:12px;padding:48px clamp(26px,5vw,58px);display:flex}.final-cta h2{letter-spacing:-.035em;text-wrap:balance;margin:9px 0 7px;font-size:clamp(26px,3vw,36px)}.final-cta p{color:var(--muted);margin:0;font-size:12px}.final-cta .primary-button{flex:none}.home-footer{color:var(--dim);letter-spacing:.04em;justify-content:space-between;padding-top:26px;font-size:10px;display:flex}.status-dot{background:var(--cyan);width:6px;height:6px;box-shadow:0 0 8px var(--cyan);border-radius:50%;margin-right:7px;display:inline-block}.game-shell{max-width:1200px;min-height:100dvh;padding:calc(16px + env(safe-area-inset-top)) max(24px, env(safe-area-inset-right)) calc(28px + env(safe-area-inset-bottom)) max(24px, env(safe-area-inset-left));margin:auto}.game-header{min-height:48px}.brand.compact .brand-mark{border-radius:8px;width:30px;height:30px;font-size:13px}.brand.compact{font-size:14px}.back-button{min-height:44px;color:var(--muted);cursor:pointer;background:0 0;border:0;align-items:center;gap:8px;padding:8px 5px;font-size:12px;transition:color .15s;display:flex}.back-button:hover{color:var(--cyan-bright)}.game-settings{width:270px;top:72px;right:max(24px,50vw - 576px)}.game-meta{justify-content:space-between;align-items:center;margin-top:20px;display:flex}.game-meta>div:first-child{align-items:baseline;gap:10px;display:flex}.game-meta>div:first-child strong{font-variant-numeric:tabular-nums;font-size:20px}.game-meta>div:first-child>span:last-child{color:var(--muted);font-size:10px}.difficulty-pill{background:var(--cyan-soft);color:var(--cyan-bright);letter-spacing:.08em;border:1px solid #42e8ff47;border-radius:99px;padding:5px 10px;font-size:9px;font-weight:800}.difficulty-pill.medium{color:#aebdff;background:#5f82ff1f;border-color:#5f82ff4d}.difficulty-pill.hard{color:#ffb0ba;background:var(--danger-soft);border-color:#ff5d734d}.timer{color:var(--dim);align-items:center;gap:8px;display:flex}.timer time{font-variant-numeric:tabular-nums;color:var(--text);letter-spacing:.08em;font-size:17px;font-weight:700}.timer button{background:var(--surface-2);border:1px solid var(--line);cursor:pointer;width:38px;height:38px;color:var(--cyan);border-radius:9px;place-items:center;margin-left:3px;transition:border-color .15s,background-color .15s;display:grid}.timer button:hover{border-color:var(--cyan);background:var(--cyan-soft)}.progress-track{background:#172136;border-radius:5px;width:100%;height:3px;margin-top:12px;overflow:hidden}.progress-track span{background:linear-gradient(90deg, var(--blue), var(--cyan));border-radius:inherit;height:100%;transition:width .25s;display:block;box-shadow:0 0 12px #42e8ff8c}.play-layout{grid-template-columns:minmax(450px,580px) minmax(270px,320px);justify-content:center;align-items:center;gap:clamp(40px,7vw,88px);margin-top:clamp(24px,4vh,42px);display:grid}.board-wrap{width:100%;max-width:580px}.board-status{color:var(--dim);letter-spacing:.05em;justify-content:space-between;margin:0 2px 9px;font-size:9px;display:flex}.board-status span:last-child{color:var(--cyan)}.board-status .has-conflict{font-weight:700;color:var(--danger)!important}.sudoku-board{aspect-ratio:1;border:2px solid var(--line-strong);width:100%;box-shadow:var(--shadow), 0 0 38px #42e8ff0b;background:#273650;border-radius:5px;grid-template-columns:repeat(9,1fr);gap:1px;scroll-margin-top:20px;display:grid;position:relative;overflow:hidden}.cell{cursor:pointer;font-variant-numeric:tabular-nums;background:#0e1523;border:0;place-items:center;min-width:0;padding:0;transition:background-color .1s,box-shadow .1s;display:grid;position:relative}.cell:hover{background:#17243a}.cell.box-right{box-shadow:inset -2px 0 #5b6e8e}.cell.box-bottom:after{content:"";z-index:1;background:#5b6e8e;height:2px;position:absolute;bottom:0;left:0;right:0}.cell.related{background:#131f32}.cell.same{background:#42e8ff21}.cell.selected{box-shadow:inset 0 0 0 2px var(--cyan), inset 0 0 18px #42e8ff1a;z-index:3;background:#42e8ff33}.cell.selected.box-right{box-shadow:inset 0 0 0 2px var(--cyan), inset -3px 0 #5b6e8e}.cell.given .cell-value{color:#f4f7ff;font-weight:750}.cell.editable .cell-value{color:var(--cyan);text-shadow:0 0 11px #42e8ff47;font-weight:700}.cell-value{font-size:clamp(20px,3vw,31px);line-height:1}.cell.conflict{background:var(--danger-soft);box-shadow:inset 0 0 0 1px #ff5d7380}.cell.conflict .cell-value{color:#ff8393;text-shadow:0 0 12px #ff5d734d}.conflict-dot{background:var(--danger);width:5px;height:5px;box-shadow:0 0 7px var(--danger);border-radius:50%;position:absolute;top:5px;right:5px}.notes-grid{color:#c89cff;grid-template-rows:repeat(3,1fr);grid-template-columns:repeat(3,1fr);width:100%;height:100%;padding:4px;display:grid}.notes-grid i{place-items:center;font-size:clamp(7px,1vw,10px);font-style:normal;display:grid}.conflict-legend{min-height:30px;color:var(--muted);align-items:center;gap:7px;font-size:9px;display:flex}.conflict-legend svg{color:var(--cyan)}.legend-mark.error{background:var(--danger);width:7px;height:7px;box-shadow:0 0 6px var(--danger);border-radius:50%}.control-panel{width:100%;min-width:0}.number-pad{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.number-pad button{border:1px solid var(--line);cursor:pointer;background:linear-gradient(145deg,#131c2d,#0e1523);border-radius:11px;flex-direction:column;justify-content:center;align-items:center;min-height:70px;transition:border-color .12s,background-color .12s,transform .12s,box-shadow .12s;display:flex}.number-pad button:hover:not(:disabled){border-color:var(--cyan);background:var(--cyan-soft);transform:translateY(-2px);box-shadow:0 0 18px #42e8ff12}.number-pad button:active:not(:disabled){transform:scale(.96)}.number-pad strong{font-size:24px;font-weight:650}.number-pad small{color:var(--dim);margin-top:2px;font-size:8px}.number-pad button:disabled{opacity:.3}.tool-row{grid-template-columns:repeat(4,1fr);gap:5px;margin-top:18px;display:grid}.tool-row>button{cursor:pointer;background:0 0;border:0;flex-direction:column;align-items:center;gap:6px;min-height:66px;padding:0;display:flex}.tool-row>button>span{border:1px solid var(--line);background:var(--surface-2);width:48px;height:42px;color:var(--muted);border-radius:10px;place-items:center;transition:color .12s,border-color .12s,background-color .12s;display:grid;position:relative}.tool-row>button:hover:not(:disabled)>span,.tool-row>button.active>span{border-color:var(--cyan);color:var(--cyan);background:var(--cyan-soft)}.tool-row button:disabled{opacity:.32}.tool-row small{color:var(--muted);white-space:nowrap;font-size:9px}.tool-row i{color:#061014;background:var(--cyan);border-radius:6px;place-items:center;min-width:19px;height:16px;padding:0 4px;font-size:8px;font-style:normal;font-weight:800;display:grid;position:absolute;top:-5px;right:-5px}.keyboard-hint{border-top:1px solid var(--line);color:var(--dim);text-align:center;margin-top:22px;padding-top:15px;font-size:9px}.keyboard-hint>span{color:var(--muted);letter-spacing:.15em;font-weight:800}.keyboard-hint p{margin:8px 0 0}kbd{color:var(--muted);background:#151e2f;border:1px solid #34435d;border-radius:4px;padding:2px 4px;font-size:8px;box-shadow:0 1px #050811}.pause-overlay{z-index:10;text-align:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);overscroll-behavior:contain;background:#070a12f0;flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.pause-icon{background:var(--cyan-soft);width:58px;height:58px;color:var(--cyan);border:1px solid #42e8ff47;border-radius:16px;place-items:center;display:grid;box-shadow:0 0 25px #42e8ff17}.pause-overlay h2{text-wrap:balance;margin:17px 0 6px;font-size:24px}.pause-overlay p{color:var(--muted);margin:0 0 20px;font-size:12px}.pause-overlay>span{color:var(--dim);margin-top:12px;font-size:9px}.primary-button{border:1px solid var(--cyan);background:var(--cyan);color:#061116;cursor:pointer;border-radius:10px;justify-content:center;align-items:center;gap:9px;min-height:50px;padding:0 25px;font-weight:800;transition:background-color .15s,box-shadow .15s,transform .15s;display:flex;box-shadow:0 8px 26px #42e8ff2b}.primary-button:hover{background:var(--cyan-bright);box-shadow:0 8px 30px #42e8ff45}.primary-button:active{transform:scale(.98)}.primary-button.small{min-height:44px;font-size:13px}.toast{z-index:30;left:50%;bottom:calc(24px + env(safe-area-inset-bottom));width:min(460px,100vw - 32px);box-shadow:var(--shadow), 0 0 20px #ff5d7314;color:#ffb2bc;background:#1b101a;border:1px solid #ff5d7380;border-radius:11px;align-items:center;gap:9px;padding:12px;font-size:12px;display:flex;position:fixed;transform:translate(-50%)}.toast-icon{color:#fff;background:var(--danger);border-radius:50%;place-items:center;width:23px;height:23px;font-weight:800;display:grid}.toast button{width:32px;height:32px;color:inherit;cursor:pointer;background:0 0;border:0;place-items:center;margin-left:auto;display:grid}.modal-backdrop{z-index:50;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);overscroll-behavior:contain;background:#020409c2;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.dialog{border:1px solid var(--line);background:var(--surface);width:min(400px,100%);box-shadow:var(--shadow);text-align:center;border-radius:16px;padding:28px}.dialog-icon{background:var(--danger-soft);width:52px;height:52px;color:var(--danger);border:1px solid #ff5d734d;border-radius:14px;place-items:center;margin:0 auto;display:grid}.dialog h2{text-wrap:balance;margin:16px 0 8px;font-size:21px}.dialog p{color:var(--muted);margin:0 auto 23px;font-size:13px;line-height:1.7}.dialog>div:last-child{grid-template-columns:1fr 1fr;gap:10px;display:grid}.secondary-button,.danger-button{border:1px solid var(--line);cursor:pointer;border-radius:9px;min-height:44px;font-weight:700;transition:border-color .15s,background-color .15s}.secondary-button{background:var(--surface-2)}.secondary-button:hover{border-color:var(--line-strong);background:var(--surface-3)}.danger-button{color:#fff;border-color:var(--danger);background:#d93f56}.danger-button:hover{background:var(--danger)}.complete-shell{min-height:100dvh;padding:max(24px, env(safe-area-inset-top)) max(24px, env(safe-area-inset-right)) max(24px, env(safe-area-inset-bottom)) max(24px, env(safe-area-inset-left));background:radial-gradient(circle at 50% 37%,#42e8ff1a,#0000 37%);place-items:center;display:grid;overflow:hidden}.complete-card{text-align:center;z-index:1;width:min(490px,100%);position:relative}.trophy-ring{width:84px;height:84px;color:var(--gold);background:#ffce681a;border:1px solid #ffce6859;border-radius:23px;place-items:center;margin:0 auto 23px;display:grid;transform:rotate(4deg);box-shadow:inset 0 0 20px #ffce680d,0 0 30px #ffce6814}.trophy-ring svg{transform:rotate(-4deg)}.complete-kicker{color:var(--cyan);text-transform:uppercase;letter-spacing:.24em;font-size:9px;font-weight:800}.complete-card h1{text-wrap:balance;letter-spacing:-.04em;margin:12px 0 8px;font-size:clamp(35px,7vw,48px);font-weight:750}.complete-card>p{color:var(--muted);margin:0;font-size:14px}.result-time{border:1px solid var(--line);background:linear-gradient(145deg,#111827f2,#090e18f2);border-radius:15px;flex-direction:column;align-items:center;margin:30px 0 12px;padding:24px;display:flex}.result-time small{color:var(--muted);font-size:10px}.result-time strong{color:var(--cyan-bright);font-variant-numeric:tabular-nums;letter-spacing:.08em;text-shadow:0 0 20px #42e8ff33;margin:4px 0;font-size:40px}.result-time span{color:var(--gold);align-items:center;gap:4px;font-size:10px;font-weight:700;display:flex}.result-stats{grid-template-columns:repeat(3,1fr);margin-bottom:25px;display:grid}.result-stats div{border-right:1px solid var(--line);flex-direction:column;gap:6px;display:flex}.result-stats div:last-child{border:0}.result-stats span{color:var(--dim);font-size:9px}.result-stats strong{font-size:13px}.complete-card .primary-button{width:100%}.text-button{min-height:44px;color:var(--muted);cursor:pointer;background:0 0;border:0;margin-top:10px;padding:10px;font-size:12px;transition:color .15s}.text-button:hover{color:var(--cyan)}.celebration{pointer-events:none;position:fixed;inset:0}.celebration i{color:var(--cyan);opacity:.45;font-style:normal;animation:3.2s ease-in-out infinite float;position:absolute}.celebration i:first-child{font-size:26px;top:20%;left:17%}.celebration i:nth-child(2){color:var(--blue);font-size:44px;top:17%;right:20%}.celebration i:nth-child(3){font-size:20px;animation-delay:-1s;bottom:25%;right:13%}.celebration i:nth-child(4){color:var(--violet);font-size:38px;animation-delay:-2s;bottom:22%;left:11%}.celebration i:nth-child(5){font-size:15px;animation-delay:-3s;bottom:8%;left:29%}@keyframes float{50%{opacity:.75;transform:translateY(-11px)rotate(12deg)}}@keyframes load-pulse{50%{opacity:.55;transform:scale(.95)}}@media (max-width:800px){.game-shell{padding-left:14px;padding-right:14px}.play-layout{grid-template-columns:1fr;gap:12px;margin-top:18px}.board-wrap,.control-panel{max-width:560px;margin:auto}.number-pad{grid-template-columns:repeat(9,1fr);gap:5px}.number-pad button{border-radius:8px;min-height:52px}.number-pad strong{font-size:clamp(18px,5vw,23px)}.number-pad small{display:none}.tool-row{margin-top:10px}.keyboard-hint{display:none}.cell-value{font-size:clamp(20px,6.3vw,29px)}.conflict-legend{min-height:22px}}@media (max-width:640px){.home-shell{padding-left:16px;padding-right:16px}.brand-suffix{display:none}.hero{padding:52px 0 36px}.hero h1{font-size:clamp(39px,12vw,53px)}.hero p{font-size:13px}.difficulty-grid{grid-template-columns:1fr;gap:8px}.difficulty-card{grid-template-columns:48px 1fr auto;align-items:center;gap:10px;min-height:88px;padding:15px 16px;display:grid}.dot-level{flex-direction:column;margin:0}.dot-level i{width:18px}.difficulty-copy strong{font-size:18px}.best-time{margin:0 24px 0 0}.card-arrow{right:12px}.home-footer{margin-top:16px}.home-footer>span:last-child,.back-button span{display:none}.game-meta{margin-top:12px}.game-meta>div:first-child>span:last-child{display:none}.game-header{min-height:42px}.sudoku-board{border-width:1px}.notes-grid{padding:2px}.conflict-dot{width:4px;height:4px;top:3px;right:3px}.tool-row>button>span{width:46px;height:42px}.pause-overlay h2{margin-top:12px}.pause-overlay p{margin-bottom:14px}}@media (max-width:440px){.number-pad{grid-template-columns:repeat(5,1fr);gap:6px}.number-pad button{min-height:47px}.board-status{font-size:8px}.game-meta>div:first-child{gap:7px}.timer{gap:5px}}@media (max-width:370px){.home-shell{padding-left:12px;padding-right:12px}.hero{padding-top:40px}.hero h1{font-size:37px}.game-shell{padding-left:7px;padding-right:7px}.board-status{padding:0 2px}.tool-row small{font-size:8px}.cell-value{font-size:19px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.header-actions{align-items:center;gap:8px;display:flex}.account-button{border:1px solid var(--line);min-height:44px;color:var(--muted);cursor:pointer;background:#111827b8;border-radius:11px;align-items:center;gap:8px;padding:0 13px;font-size:11px;font-weight:700;transition:color .15s,border-color .15s,background-color .15s;display:inline-flex}.account-button:hover{color:var(--cyan-bright);background:var(--cyan-soft);border-color:#42e8ff73}.account-button.signed-in{color:var(--cyan-bright);background:var(--cyan-soft);border-color:#42e8ff47}.spin{animation:.85s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.session-notice{color:#ffe1a1;background:#ffce6812;border:1px solid #ffce6847;border-radius:10px;justify-content:space-between;align-items:center;gap:16px;min-height:46px;margin-top:18px;padding:8px 9px 8px 14px;font-size:12px;display:flex}.session-notice button{min-height:32px;color:inherit;cursor:pointer;background:0 0;border:1px solid #ffce684d;border-radius:7px;flex:none;padding:0 11px;font-size:11px}.account-backdrop{z-index:80}.account-dialog{background:radial-gradient(circle at 100% 0,#42e8ff14,#0000 30%),#0c111d;border:1px solid #2b3d5b;border-radius:18px;width:min(440px,100%);max-height:min(760px,100dvh - 32px);padding:32px;position:relative;overflow-y:auto;box-shadow:0 30px 90px #0000009e,0 0 36px #42e8ff12}.dialog-close{width:36px;height:36px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:9px;place-items:center;display:grid;position:absolute;top:15px;right:15px}.dialog-close:hover{background:var(--surface-2);color:var(--text)}.account-state{color:var(--cyan);letter-spacing:.18em;align-items:center;gap:7px;font-size:9px;font-weight:800;display:flex}.account-state i{background:var(--cyan);width:6px;height:6px;box-shadow:0 0 8px var(--cyan);border-radius:50%}.account-dialog h2{letter-spacing:-.035em;text-wrap:balance;margin:13px 0 7px;font-size:27px}.account-lead{color:var(--muted);margin:0 0 22px;font-size:12px;line-height:1.7}.auth-tabs{border:1px solid var(--line);background:#090e18;border-radius:10px;grid-template-columns:1fr 1fr;padding:3px;display:grid}.auth-tabs button{min-height:38px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:7px;font-size:12px;font-weight:700}.auth-tabs button[aria-selected=true]{color:var(--cyan-bright);background:var(--surface-3);box-shadow:0 2px 8px #00000040}.auth-form{flex-direction:column;gap:14px;margin-top:20px;display:flex}.auth-form label{color:var(--muted);flex-direction:column;gap:7px;font-size:11px;font-weight:700;display:flex}.auth-form input{border:1px solid var(--line);width:100%;min-height:47px;color:var(--text);background:#090e18;border-radius:9px;outline:0;padding:0 13px}.auth-form input::placeholder{color:#526079}.auth-form input:focus{border-color:var(--cyan);box-shadow:0 0 0 3px #42e8ff14}.auth-form .primary-button{width:100%;margin-top:3px}.form-message{border-radius:8px;padding:10px 12px;font-size:11px;line-height:1.5}.form-message.error{color:#ffb4be;background:var(--danger-soft);border:1px solid #ff5d734d}.form-message.success{color:#b8fff3;background:var(--cyan-soft);border:1px solid #42e8ff40;align-items:center;gap:7px;display:flex}.form-message.info{color:#d1dcf0;border:1px solid var(--line);background:var(--surface-2)}.guest-note{color:var(--dim);justify-content:center;align-items:center;gap:6px;margin:18px 0 0;font-size:10px;display:flex}.guest-note svg{color:var(--cyan)}.account-panel{text-align:center}.account-icon{width:58px;height:58px;color:var(--cyan);background:var(--cyan-soft);border:1px solid #42e8ff4d;border-radius:16px;place-items:center;margin:0 auto 16px;display:grid}.account-panel .account-state{justify-content:center}.account-email{color:var(--muted);word-break:break-all;margin:0 0 22px;font-size:12px}.sync-card,.import-card{border:1px solid var(--line);text-align:left;background:#090e18;border-radius:11px;align-items:center;gap:11px;padding:14px;display:flex}.sync-card>span{color:var(--cyan)}.sync-card>div,.import-card>div{flex-direction:column;flex:1;gap:4px;display:flex}.sync-card strong,.import-card strong{font-size:12px}.sync-card small,.import-card small{color:var(--muted);font-size:10px;line-height:1.5}.sync-card button,.import-card button{background:var(--cyan-soft);min-height:34px;color:var(--cyan-bright);cursor:pointer;border:1px solid #42e8ff59;border-radius:7px;flex:none;padding:0 10px;font-size:10px;font-weight:700}.import-card{background:#ffce680d;border-color:#ffce6838;margin-top:10px}.signout-button{border:1px solid var(--line);width:100%;min-height:44px;color:var(--muted);background:var(--surface-2);cursor:pointer;border-radius:9px;justify-content:center;align-items:center;gap:8px;margin-top:18px;display:flex}.signout-button:hover{color:var(--text);border-color:var(--line-strong)}.save-result-card{background:var(--cyan-soft);width:100%;min-height:64px;color:var(--cyan);text-align:left;cursor:pointer;border:1px solid #42e8ff4d;border-radius:10px;align-items:center;gap:11px;margin:0 0 12px;padding:10px 13px;display:flex}.save-result-card>span{flex-direction:column;flex:1;gap:3px;display:flex}.save-result-card strong{color:var(--text);font-size:12px}.save-result-card small{color:var(--muted);font-size:9px}.complete-sync{color:var(--cyan);justify-content:center;align-items:center;gap:6px;margin:-8px 0 16px;font-size:10px;display:flex}@media (max-width:640px){.account-button{justify-content:center;width:44px;padding:0}.account-button span{display:none}.account-dialog{padding:27px 20px 22px}.account-dialog h2{font-size:24px}.session-notice{margin-top:12px}}@media (max-width:860px){.landing-hero{grid-template-columns:minmax(0,1fr);gap:48px;min-height:auto;padding:62px 0 82px}.hero-copy{text-align:center}.landing-hero h1,.landing-hero .hero-copy>p{margin-left:auto;margin-right:auto}.hero-actions,.hero-proof{justify-content:center}.hero-preview{justify-self:center;transform:none}.landing-resume{text-align:left;margin-left:auto;margin-right:auto}.feature-grid{grid-template-columns:1fr}.feature-grid article{grid-template-columns:44px 1fr;column-gap:16px;padding:23px;display:grid}.feature-icon{grid-row:1/3;margin:0}.feature-grid h3{align-self:end}.difficulty-heading{display:block}.difficulty-heading p{margin-top:12px}}@media (max-width:640px){.home-shell{padding-left:16px;padding-right:16px}.landing-hero{gap:30px;padding:38px 0 66px}.landing-hero h1{margin-top:15px;margin-bottom:16px;font-size:clamp(39px,11.8vw,51px)}.landing-hero .hero-copy>p{font-size:13px;line-height:1.7}.hero-actions{gap:8px;margin-top:23px}.hero-primary,.hero-secondary{min-height:50px}.hero-primary{min-width:165px}.hero-secondary{padding:0 12px}.hero-proof{gap:8px 13px;margin-top:15px}.landing-resume{margin-top:17px}.hero-preview{border-radius:17px;width:min(100%,330px);padding:13px}.preview-top{margin-bottom:9px}.preview-board>span{font-size:clamp(11px,4.2vw,16px)}.preview-controls{display:none}.experience-section,.difficulty-section{padding:68px 0}.section-heading{margin-bottom:25px}.section-heading h2{font-size:30px}.feature-grid article{padding:20px}.final-cta{text-align:center;flex-direction:column;align-items:stretch;padding:30px 22px}.final-cta .primary-button{width:100%}.home-footer{margin-top:0}}@media (max-width:390px){.hero-secondary,.hero-primary{width:100%}.hero-proof{font-size:9px}.landing-hero{padding-top:30px}.hero-preview{width:min(100%,300px)}}
