:root{--bg:#fdfdfb;--text:#18181b;--muted:#71717a;--line:#e4e4e7;--blue:#2563eb}
*{box-sizing:border-box}html,body{margin:0;padding:0}body{font-family:Inter,system-ui,sans-serif;background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased}
a{text-decoration:none;color:inherit}
.sm-container{max-width:1120px;margin:0 auto;padding:0 24px}
.nav{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.86);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.nav-inner{height:80px;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:12px}.brand{text-decoration:none;color:inherit}.logo-box{width:40px;height:40px;border-radius:10px;background:#18181b;color:#fff;display:grid;place-items:center;font-weight:700}.brand-name{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:28px}
.menu{display:flex;align-items:center;gap:18px;flex-wrap:wrap}.menu button,.footer-links button{background:none;border:none;cursor:pointer;font:inherit;color:var(--muted);padding:8px 0;position:relative}.menu button.active,.footer-links button.active{color:var(--text)}.menu button.active::after{content:"";position:absolute;left:0;right:0;bottom:-8px;height:2px;background:#18181b;border-radius:99px}
.share-btn{border:1px solid var(--line);border-radius:999px;padding:10px 14px;background:#fff;cursor:pointer}
.mobile-toggle{display:none;background:none;border:none;font-size:24px;cursor:pointer}
.mobile-menu{display:none;border-top:1px solid var(--line);padding:8px 0 16px}.mobile-menu button{display:block;width:100%;text-align:left;border:none;background:none;padding:12px 10px;border-radius:8px;color:var(--muted);cursor:pointer}.mobile-menu button.active{background:#fafafa;color:var(--text)}
.hero{text-align:center;padding:64px 0 40px}.badge{display:inline-flex;align-items:center;gap:8px;padding:6px 12px;border-radius:999px;background:#f4f4f5;color:var(--muted);font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.12em;margin-bottom:24px}.hero h1{font-family:'Cormorant Garamond',serif;font-style:italic;font-weight:400;letter-spacing:-.02em;line-height:.95;font-size:clamp(42px,7vw,92px);margin:0 0 18px}.hero p{font-size:20px;color:var(--muted);max-width:780px;margin:0 auto;line-height:1.5;font-weight:300}
.game-wrap{padding:24px 0 8px}.board-shell{max-width:880px;margin:0 auto;padding:16px}.status-row{display:flex;justify-content:space-between;align-items:center;max-width:500px;margin:0 auto 12px}.label{font-size:11px;text-transform:uppercase;letter-spacing:.14em;font-weight:700;color:var(--muted)}.label-val{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:22px}.mistake-val{font-family:monospace;font-size:20px}.mistake-val.bad{color:#ef4444}
.board-frame{position:relative;max-width:max-content;margin:0 auto}.sudoku-grid{display:grid;grid-template-columns:repeat(9,minmax(32px,52px));grid-auto-rows:minmax(32px,52px);gap:1px;background:#18181b;border:2px solid #18181b;border-radius:4px;overflow:hidden;box-shadow:0 20px 45px rgba(0,0,0,.12)}
.cell{background:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:clamp(16px,2.1vw,22px);user-select:none;position:relative}.cell.initial{font-weight:700;color:#18181b}.cell.editable{color:var(--blue)}.cell.sel{background:#dbeafe}.cell.highlight{background:#fafafa}.cell.same{background:#eff6ff}.cell.border-r{border-right:2px solid #18181b}.cell.border-b{border-bottom:2px solid #18181b}
.notes{display:grid;grid-template-columns:repeat(3,1fr);width:100%;height:100%;padding:2px;pointer-events:none}.notes span{font-size:9px;color:#a1a1aa;display:flex;align-items:center;justify-content:center;line-height:1}
.overlay{position:absolute;inset:0;background:rgba(255,255,255,.93);display:none;align-items:center;justify-content:center;flex-direction:column;text-align:center;border:2px solid #18181b;border-radius:4px}.overlay.show{display:flex}.overlay h3{margin:10px 0 4px;font-family:'Cormorant Garamond',serif;font-style:italic;font-size:38px;font-weight:400}.overlay p{color:var(--muted);margin:0 0 16px}.overlay .play-again{background:#18181b;color:#fff;border:none;border-radius:999px;padding:12px 18px;cursor:pointer}
.controls{max-width:500px;margin:18px auto 0;display:flex;flex-direction:column;gap:14px}.num-grid{display:grid;grid-template-columns:repeat(9,1fr);gap:8px}.num-grid button{aspect-ratio:1/1;border:1px solid var(--line);border-radius:10px;background:#fff;font-size:22px;cursor:pointer}.num-grid button:hover{background:#fafafa}
.action-row{display:flex;gap:12px}.action-row button{flex:1;border-radius:12px;border:1px solid var(--line);background:#fff;padding:12px 10px;cursor:pointer}.action-row button.on{background:#18181b;color:#fff;border-color:#18181b}
.features{padding:34px 0}.features-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:28px 0}.feature{display:flex;gap:12px}.feature-icon{width:48px;height:48px;border-radius:999px;border:1px solid var(--line);display:grid;place-items:center;color:#71717a;font-weight:700}.feature h4{margin:0 0 4px;font-family:'Cormorant Garamond',serif;font-style:italic;font-size:24px;font-weight:400}.feature p{margin:0;color:var(--muted);font-size:14px;line-height:1.5}
.seo{max-width:860px;margin:24px auto 0;padding:44px 24px;border-top:1px solid var(--line)}.seo h1,.seo h2,.seo h3{font-family:'Cormorant Garamond',serif;font-style:italic;font-weight:400;color:#18181b}.seo h1{font-size:54px;line-height:1.05;margin:0 0 26px}.seo h2{font-size:34px;margin:30px 0 12px}.seo h3{font-size:28px;margin:22px 0 10px}.seo p,.seo li{color:#52525b;line-height:1.75;font-size:17px}.seo ul{padding-left:22px}.seo strong{color:#18181b}
.site-footer{margin-top:36px;background:#18181b;color:#fff;padding:64px 0 28px}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:34px;margin-bottom:34px}.footer-brand p,.footer-col ul{color:#a1a1aa}.footer-col h5{font-size:12px;letter-spacing:.14em;text-transform:uppercase;margin:0 0 12px;color:#71717a}.footer-col ul{list-style:none;padding:0;margin:0}.footer-col li{margin-bottom:10px}.footer-col button{color:#a1a1aa}.footer-bottom{border-top:1px solid rgba(255,255,255,.1);padding-top:16px;color:#71717a;display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap}
@media (max-width:900px){.menu{display:none}.mobile-toggle{display:block}.mobile-menu.show{display:block}.features-grid{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr}.num-grid{gap:6px}.action-row{flex-direction:column}}

.ad-slot{margin:16px auto 0;max-width:880px;padding:0 16px}
.ad-slot-inner{border:1px dashed var(--line);border-radius:14px;background:#fff;padding:10px;overflow:hidden}
.ad-slot-inner.placeholder{min-height:84px;display:grid;place-items:center;color:var(--muted);font-size:13px;text-transform:uppercase;letter-spacing:.08em;background:#fafafa}
.ad-slot-footer{margin-top:10px}
.utility-grid{max-width:1120px;margin:16px auto 0;padding:0 24px;display:grid;grid-template-columns:1.1fr .9fr;gap:16px}
.card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:16px;box-shadow:0 8px 24px rgba(0,0,0,.04)}
.card h4{margin:0 0 6px;font-family:'Cormorant Garamond',serif;font-style:italic;font-size:28px;font-weight:400}
.card p{margin:0;color:var(--muted);font-size:14px;line-height:1.5}
.lb-head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:10px}
.lb-meta{font-size:12px;color:var(--muted)}
.timer-pill{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border:1px solid var(--line);border-radius:999px;font-size:12px;color:var(--muted);background:#fafafa}
.leaderboard-list{margin-top:10px;display:flex;flex-direction:column;gap:8px;max-height:280px;overflow:auto}
.leaderboard-row{display:grid;grid-template-columns:32px 1fr auto;gap:10px;align-items:center;border:1px solid var(--line);border-radius:10px;padding:8px 10px}
.leaderboard-rank{font-weight:700;color:var(--muted)}
.leaderboard-name{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.leaderboard-sub{font-size:12px;color:var(--muted)}
.leaderboard-score{text-align:right;font-variant-numeric:tabular-nums}
.leaderboard-empty,.leaderboard-status{font-size:13px;color:var(--muted);padding:8px 0}
.quick-links-list{list-style:none;padding:0;margin:12px 0 0;display:flex;flex-direction:column;gap:8px}
.quick-links-list a{display:flex;justify-content:space-between;align-items:center;border:1px solid var(--line);padding:10px 12px;border-radius:10px;color:inherit}
.quick-links-list a:hover{background:#fafafa}
.status-row .timer-block{text-align:center}
.status-row .timer-val{font-family:monospace;font-size:18px}
.footer-col ul.footer-links-custom{list-style:none;padding:0;margin:0}
.footer-col ul.footer-links-custom li{margin-bottom:10px}
.footer-col ul.footer-links-custom a{color:#a1a1aa}
.footer-col ul.footer-links-custom a:hover{color:#fff}
.brand-logo{width:40px;height:40px;border-radius:10px;object-fit:cover;border:1px solid var(--line);background:#fff}
.site-footer .brand-logo{border-color:rgba(255,255,255,.15);background:#fff}
.share-btn.copied{background:#18181b;color:#fff;border-color:#18181b}
.share-toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);background:#18181b;color:#fff;padding:10px 14px;border-radius:999px;z-index:1000;font-size:13px;opacity:0;pointer-events:none;transition:opacity .2s ease}
.share-toast.show{opacity:1}
@media (max-width:900px){.utility-grid{grid-template-columns:1fr;padding:0 16px}.lb-head{align-items:center}.hero p{font-size:18px}.ad-slot{padding:0 12px}}

.share-sheet-overlay{position:fixed;inset:0;background:rgba(24,24,27,.45);display:none;align-items:center;justify-content:center;padding:16px;z-index:900}
.share-sheet-overlay.show{display:flex}
.share-sheet{width:min(620px,100%);background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:0 24px 60px rgba(0,0,0,.18);padding:16px}
.share-sheet-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:12px}
.share-sheet-head h4{margin:0;font-family:'Cormorant Garamond',serif;font-style:italic;font-size:30px;font-weight:400}
.share-sheet-head p{margin:2px 0 0;color:var(--muted);font-size:13px}
.share-close{border:1px solid var(--line);background:#fff;border-radius:999px;width:34px;height:34px;cursor:pointer;font-size:22px;line-height:1}
.share-sheet-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.share-link{display:flex;align-items:center;justify-content:center;text-align:center;border:1px solid var(--line);border-radius:12px;padding:12px 10px;background:#fff;font-weight:500}
.share-link:hover{background:#fafafa}
.share-sheet-actions{margin-top:12px;display:flex;justify-content:flex-end}
.share-copy-btn{border:1px solid var(--line);background:#18181b;color:#fff;border-radius:999px;padding:10px 14px;cursor:pointer}
@media (max-width:600px){.share-sheet{padding:14px}.share-sheet-grid{grid-template-columns:1fr}.share-sheet-head h4{font-size:26px}}
