:root{color:#fff4df;background:#0b1413}*,*:before,*:after{box-sizing:border-box}body{margin:0;min-width:320px}.sudoku-app{--panel: rgba(17, 31, 29, .94);--panel-strong: rgba(8, 17, 16, .97);--line: rgba(216, 170, 92, .24);--ink: #fff4df;--muted: #c9bea9;--cyan: #69c9bd;--lime: #9ecb7d;--gold: #d8aa5c;--pink: #c86c52;--danger: #d96a58;min-height:100vh;width:100%;max-width:100vw;padding:14px;color:var(--ink);background:linear-gradient(rgba(216,170,92,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(216,170,92,.045) 1px,transparent 1px),linear-gradient(180deg,#07100f,#10201e 48%,#211813);background-size:26px 26px,26px 26px,auto;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.sudoku-panel,.sudoku-game,.completion-panel{width:min(100%,1120px);max-width:calc(100vw - 28px);margin:0 auto 14px}.sudoku-panel,.completion-panel{border:1px solid var(--line);border-radius:8px;background:var(--panel);box-shadow:0 18px 50px #00000047,inset 0 1px #ffffff14}.sudoku-hero{position:relative;display:grid;gap:14px;padding:16px 116px 16px 16px;border-color:#d8aa5c6b;background:linear-gradient(90deg,rgba(216,170,92,.18),transparent 42%),linear-gradient(135deg,rgba(105,201,189,.12),transparent 62%),var(--panel-strong)}.sudoku-hero>div:first-child{min-width:0}.sudoku-hero-top{display:block;margin:0 0 8px}.sudoku-eyebrow{margin:0;color:var(--cyan);font-size:.78rem;font-weight:900;letter-spacing:0;text-transform:uppercase}.sudoku-exit-link{position:absolute;top:16px;right:16px;min-height:36px;display:inline-grid;place-items:center;flex:0 0 auto;border:1px solid rgba(184,91,62,.56);border-radius:8px;padding:0 12px;color:#ffe7cf;background:#b85b3e2e;font-weight:900;line-height:1.2;text-decoration:none}.sudoku-exit-link:hover,.sudoku-exit-link:focus-visible{border-color:var(--pink);outline:3px solid rgba(184,91,62,.24)}.sudoku-hero h1{margin:0;color:#fff8e8;font-size:clamp(2rem,9vw,4.5rem);line-height:.98;text-shadow:0 16px 42px rgba(0,0,0,.36)}.sudoku-status{width:fit-content;max-width:100%;margin:12px 0 0;border:1px solid rgba(255,209,102,.32);border-radius:8px;padding:8px 10px;color:#fff2bf;background:#ffd1661f;font-weight:800;line-height:1.45;overflow-wrap:anywhere}.sudoku-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;color:var(--muted);font-weight:900}.sudoku-stats span{min-width:0;border:1px solid rgba(216,170,92,.22);border-radius:8px;padding:9px 10px;background:#d8aa5c14;overflow-wrap:anywhere}.sudoku-controls{display:grid;gap:12px;padding:12px}.control-zone{min-width:0;border:1px solid rgba(246,244,232,.14);border-radius:8px;padding:10px;background:#ffffff0b}.difficulty-zone{border-color:#69c9bd47;background:#69c9bd0f}.action-zone{border-color:#ffd1664d;background:#ffd1660e}.control-label{margin:0 0 8px;color:var(--muted);font-size:.75rem;font-weight:1000;line-height:1}.difficulty-list,.action-row,.tool-row{display:grid;gap:8px}.difficulty-list,.action-row{grid-template-columns:repeat(3,minmax(0,1fr))}.kakao-connect-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center;margin-top:10px;border-top:1px solid rgba(255,209,102,.18);padding-top:10px}.kakao-connect-row span{min-width:0;color:#fff2bf;font-size:.86rem;font-weight:900;overflow-wrap:anywhere}.mini-action-button{min-height:34px;padding:0 10px;font-size:.78rem}.kakao-connect-message,.ranking-empty{margin:8px 0 0;color:var(--muted);font-size:.82rem;font-weight:800;line-height:1.45}.sudoku-ranking-panel{display:grid;gap:12px;padding:12px;border-color:#69c9bd47;background:linear-gradient(90deg,#69c9bd1a,#ffd1660f),var(--panel)}.ranking-head{display:grid;gap:8px;align-items:start}.ranking-head h2{margin:0;color:#fff;font-size:1.25rem;line-height:1.1}.ranking-head strong{width:fit-content;max-width:100%;border:1px solid rgba(105,201,189,.3);border-radius:8px;padding:7px 9px;color:#d7fff7;background:#69c9bd1c;font-size:.88rem;overflow-wrap:anywhere}.difficulty-ranking-list{display:grid;gap:8px;margin:0;padding:0;list-style:none}.difficulty-ranking-list li{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center;border:1px solid rgba(246,244,232,.14);border-radius:8px;padding:9px 10px;background:#00000024}.difficulty-ranking-list li.is-mine{border-color:#ffd16680;background:#ffd1661c}.difficulty-ranking-list span{min-width:0;color:#fff;font-weight:1000;overflow-wrap:anywhere}.difficulty-ranking-list strong{color:var(--gold)}.tool-row{grid-template-columns:repeat(2,minmax(0,1fr))}button{min-width:0;min-height:42px;border:1px solid rgba(246,244,232,.2);border-radius:8px;padding:0 10px;color:var(--ink);background:#ffffff14;font:inherit;font-weight:900;line-height:1.2;cursor:pointer;overflow-wrap:anywhere;box-shadow:inset 0 -3px #00000038;transition:transform .12s ease,border-color .12s ease,background-color .12s ease,box-shadow .12s ease}button:hover,button:focus-visible{transform:translateY(-1px);border-color:var(--cyan);outline:3px solid rgba(105,201,189,.18);background:#69c9bd1f}button:active{transform:translateY(1px);box-shadow:inset 0 2px #00000047}button:disabled{cursor:not-allowed;opacity:.52;transform:none}button:disabled:hover,button:disabled:focus-visible{border-color:#f6f4e833;outline:0;background:#ffffff14}.difficulty-button{min-height:48px;position:relative;isolation:isolate}.difficulty-button:before{content:"";position:absolute;inset:0;z-index:-1;border-radius:8px;opacity:.18;background:var(--difficulty-color, var(--cyan))}.difficulty-button.is-active{border-color:var(--difficulty-color, var(--cyan));color:#0a0f1d;background:var(--difficulty-color, var(--cyan))}.difficulty-kid{--difficulty-color: var(--lime)}.difficulty-easy{--difficulty-color: #65f4c8}.difficulty-normal{--difficulty-color: var(--cyan)}.difficulty-hard{--difficulty-color: #ff9b54}.difficulty-expert{--difficulty-color: var(--pink)}.difficulty-iq160{--difficulty-color: var(--gold)}.action-button,.tool-button{background:#ffffff17}.primary-action{border-color:#ffd166e0;color:#15110a;background:linear-gradient(180deg,#ffe28a,#ffb703);box-shadow:inset 0 -4px #5c3f0057,0 0 24px #ffd16638}.kakao-share-button{border-color:#fee500c7;color:#161000;background:linear-gradient(180deg,#fff06b,#fee500)}.sudoku-game{display:grid;gap:14px;justify-items:center}.sudoku-board{display:grid;grid-template-rows:repeat(9,minmax(0,1fr));width:min(100%,640px,calc(100vw - 28px));aspect-ratio:1;border:4px solid #050914;border-radius:8px;overflow:hidden;background:#07100f;box-shadow:0 0 0 1px #d8aa5c3d,0 22px 60px #0000006b,0 0 36px #d8aa5c1f}.sudoku-row{display:grid;grid-template-columns:repeat(9,minmax(0,1fr));min-height:0}.sudoku-cell{display:grid;place-items:center;min-width:0;min-height:0;border:0;border-right:1px solid rgba(66,50,32,.22);border-bottom:1px solid rgba(66,50,32,.22);border-radius:0;padding:0;color:#1d201b;background:#fff8e7;font-size:clamp(1.1rem,7vw,2.05rem);font-weight:1000;box-shadow:none;text-shadow:none;transform:none}.sudoku-cell:hover,.sudoku-cell:focus-visible{transform:none;outline:0;background:#fff1cc}.sudoku-cell:nth-child(3n){border-right-width:4px;border-right-color:#07100f}.sudoku-row:nth-child(3n) .sudoku-cell{border-bottom-width:4px;border-bottom-color:#07100f}.sudoku-cell:nth-child(9n){border-right:0}.sudoku-row:nth-child(9) .sudoku-cell{border-bottom:0}.sudoku-cell.is-peer{background:#e8f3ee}.sudoku-cell.is-match{color:#0f2826;background:#cfeee7}.sudoku-cell.is-fixed{color:#20241d;background:#e8dcc3}.sudoku-cell.is-user-value{color:#102f2b;background:#f2ead4}.sudoku-cell.is-selected{color:#140f00;background:#e5b966;outline:4px solid #b85b3e;outline-offset:-4px;box-shadow:inset 0 0 0 2px #ffffff7a}.cell-notes{width:78%;height:78%;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(3,minmax(0,1fr));align-items:center;justify-items:center;color:#336473;font-size:clamp(.42rem,2.1vw,.72rem);font-weight:900;line-height:1}.sudoku-pad{width:min(100%,640px);display:grid;gap:10px;align-content:start}.number-pad{display:grid;grid-template-columns:repeat(9,minmax(0,1fr));gap:6px}.number-pad button{min-height:54px;display:grid;align-content:center;gap:2px;padding:4px 0;color:#081614;background:linear-gradient(180deg,#a8ded4,#69c9bd);border-color:#a8ded4c2}.number-pad button.is-spent{color:#f6f4e894;background:#f6f4e814;border-color:#f6f4e829}.number-value{font-size:1.22rem;line-height:1}.number-count{font-size:.66rem;font-weight:900;line-height:1}.tool-button.is-active{border-color:var(--lime);color:#07120a;background:var(--lime)}.ad-slot{min-height:92px;display:block;border:1px dashed rgba(246,244,232,.28);border-radius:8px;padding:8px;background:#ffffff0f;overflow:hidden}.ad-slot .adsbygoogle{min-height:90px}.sudoku-challenge-banner{display:grid;gap:6px;border-color:#ffd16666;background:linear-gradient(135deg,#ffd16624,#2dd4bf14),var(--panel)}.sudoku-challenge-banner p,.sudoku-challenge-banner strong{margin:0}.sudoku-challenge-banner p{color:var(--gold);font-size:.8rem;font-weight:1000}.sudoku-challenge-banner strong{color:#fff;font-size:1.05rem}.completion-panel{display:grid;gap:12px;padding:16px;border-color:#ffd1667a;background:linear-gradient(90deg,#d8aa5c29,#b85b3e1a),var(--panel-strong)}.completion-panel p,.completion-panel h2{margin:0}.completion-panel p{color:var(--gold);font-size:.82rem;font-weight:1000}.completion-panel h2{color:#fff;font-size:clamp(1.6rem,8vw,3rem);line-height:1}.completion-panel dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0}.completion-panel dl>div{border:1px solid rgba(255,209,102,.24);border-radius:8px;padding:10px;background:#00000029}.completion-panel dt{color:var(--muted);font-size:.75rem;font-weight:900}.completion-panel dd{margin:4px 0 0;color:#fff;font-size:1.05rem;font-weight:1000}.completion-rank-badge{width:fit-content;max-width:100%;border:1px solid rgba(105,201,189,.34);border-radius:8px;padding:8px 10px;color:#d7fff7;background:#69c9bd1f;font-weight:1000;overflow-wrap:anywhere}.completion-leaderboard{display:grid;gap:8px;border:1px solid rgba(255,209,102,.22);border-radius:8px;padding:12px;background:#00000024}.completion-leaderboard h3{margin:0;color:#fff;font-size:1rem}.completion-leaderboard ol{display:grid;gap:6px;margin:0;padding-left:20px}.completion-leaderboard li{color:var(--muted)}.completion-leaderboard li::marker{color:var(--gold);font-weight:1000}.completion-leaderboard span,.completion-leaderboard strong,.completion-leaderboard small{display:block}.completion-leaderboard span{color:#fff;font-weight:1000}.completion-leaderboard strong{color:var(--gold)}.completion-leaderboard small{color:var(--muted);font-weight:800}.completion-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}@media(max-width:520px){.sudoku-app{padding:10px}.sudoku-panel,.sudoku-game,.sudoku-challenge-banner,.completion-panel{max-width:calc(100vw - 20px);margin-bottom:10px}.sudoku-hero,.sudoku-controls,.sudoku-challenge-banner,.completion-panel{padding:10px}.sudoku-hero{padding:54px 10px 10px}.sudoku-exit-link{top:10px;right:10px}.sudoku-stats,.difficulty-list,.action-row,.completion-panel dl{grid-template-columns:repeat(2,minmax(0,1fr))}.kakao-connect-row,.difficulty-ranking-list li{grid-template-columns:1fr}.action-row .kakao-share-button{grid-column:1 / -1}.sudoku-board{width:min(100%,calc(100vw - 20px))}.number-pad{grid-template-columns:repeat(9,minmax(0,1fr));gap:4px}.number-pad button{min-height:48px}.number-count{font-size:.58rem}}@media(min-width:780px){.sudoku-app{padding:28px}.sudoku-hero{grid-template-columns:minmax(0,1fr) minmax(300px,.42fr);align-items:end}.sudoku-controls{grid-template-columns:minmax(0,1fr) minmax(260px,auto);align-items:center}.ranking-head{grid-template-columns:minmax(0,1fr) auto;align-items:center}.difficulty-list{grid-template-columns:repeat(6,minmax(86px,1fr))}.action-row,.tool-row{display:flex;flex-wrap:wrap}button{padding:0 14px}.sudoku-game{grid-template-columns:minmax(0,640px) minmax(250px,1fr);align-items:start;justify-items:stretch}.sudoku-pad{width:100%}.number-pad{grid-template-columns:repeat(3,minmax(0,1fr))}.number-pad button{min-height:74px}}
