@import "https://fonts.googleapis.com/css2?family=Baloo+2:wght@500;700;800&family=Nunito:wght@700;800;900&display=swap";:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--ink:#3f1d10;--brown:#7a430c;--line:#cfa76b;--paper:#fff8e8;--paper-deep:#f7e7c7;font-family:Nunito,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html,body,#root{height:100%}body{color:var(--ink);background:radial-gradient(circle at 50% 36%,#f1d09f,#e3b178 70%,#d49f61);margin:0;overflow:hidden}#root{justify-content:center;align-items:center;width:100%;height:100%;display:flex}button{color:inherit;font:inherit;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;border:0}.game-shell{aspect-ratio:941/1672;background:url(/cozy-desk-bg.png) 50%/100% 100% no-repeat;width:min(100vw,56.2799svh);max-height:100svh;position:relative;overflow:hidden;container-type:size}.phone-screen{flex-direction:column;padding:8cqh 7.5cqw 11cqh;display:flex;position:absolute;inset:0}.title-spacer{flex:0 0 14cqh}.game-panel{background:0 0;flex-direction:column;flex:auto;min-height:0;display:flex}.difficulty-tabs{grid-template-columns:repeat(4,minmax(0,1fr));gap:2cqw;width:100%;margin-bottom:2.4cqh;display:grid}.difficulty-tabs button{color:#6b3a15;background:#fffaefe6;border-radius:2.6cqw;min-width:0;height:6.2cqh;font-size:3.4cqw;font-weight:900;box-shadow:inset 0 0 0 2px #ffffffb8,0 3px 7px #7f4a131f}.difficulty-tabs button.active{color:#4a230d;background:linear-gradient(#ffe39b,#ffc766);box-shadow:inset 0 0 0 2px #fffbdcd9,0 3px #844e182e,0 7px 11px #7747121f}.board{aspect-ratio:1;border:3px solid var(--brown);background:var(--brown);border-radius:2.6cqw;grid-template-columns:repeat(9,1fr);align-self:center;width:min(100%,64cqw);display:grid;overflow:hidden;box-shadow:0 5px 11px #60350d24}.cell{border-right:1px solid var(--line);border-bottom:1px solid var(--line);color:#0f5791;background:radial-gradient(circle at 50% 54%,#fff6d59e,#0000 66%),#fff9ea;place-items:center;min-width:0;min-height:0;padding:0;font-family:"Baloo 2",Nunito,sans-serif;font-size:5cqw;font-weight:500;line-height:1;display:grid;position:relative}.cell.fixed{color:#3c190e}.cell.box-peer{background:radial-gradient(circle,#ffde7c47,#0000 66%),#fff9eb}.cell.row-peer{background:linear-gradient(#d3f6efb8,#f8fff7b8),#effbf4}.cell.col-peer{background:linear-gradient(#dcefffc7,#fffbebb8),#edf7ff}.cell.row-peer.col-peer{background:linear-gradient(135deg,#ccf7ebd1,#cbe7ffd1),#edfaff}.cell.same-digit{color:#075f9b;background:radial-gradient(circle at 50% 52%,#74c5f86b,#0000 62%),linear-gradient(#e7f8fff5,#fff9e2d1);box-shadow:inset 0 0 0 2px #42abe740}.cell.selected{z-index:2;background:#e9f7ff;box-shadow:inset 0 0 0 3px #4aaee8,inset 0 0 0 5px #ffffffb8}.cell.wrong .cell-value{color:#de3944}.cell.box-left{border-left:2px solid var(--brown)}.cell.box-top{border-top:2px solid var(--brown)}.cell.box-right{border-right:2px solid var(--brown)}.cell.box-bottom{border-bottom:2px solid var(--brown)}.cell-value{text-shadow:0 1px #ffffffeb;transform:translateY(.04em)}.magic-effect{z-index:3;pointer-events:none;border:2px solid;border-radius:50%;animation:.62s ease-out forwards magic-pop;position:absolute;inset:8%;overflow:hidden}.magic-effect:before,.magic-effect:after{border-radius:inherit;content:"";position:absolute;inset:14%}.magic-effect:after{filter:blur(1px);inset:28%}.magic-wind{color:#82dbcbf2;background:conic-gradient(from 40deg,#0000,#b5f7ebc2,#0000 42%);box-shadow:0 0 13px #74d7c6b8}.magic-wind:before{border:2px dashed #d5fff7eb}.magic-electric{color:#5fb5fffa;background:linear-gradient(135deg,#0000 28%,#ffffffeb 29% 35%,#0000 36% 58%,#7dd1ffdb 59% 66%,#0000 67%);box-shadow:0 0 15px #4aaee8e0}.magic-electric:before{clip-path:polygon(46% 0,64% 34%,53% 34%,70% 100%,34% 44%,48% 44%);background:#fff994eb}.magic-fire{color:#ff883cfa;background:radial-gradient(circle at 50% 72%,#ffe25ceb,#ff6e37b8 44%,#0000 68%);box-shadow:0 0 15px #ff7642cc}.magic-fire:before{clip-path:polygon(50% 0,74% 44%,60% 100%,38% 100%,24% 44%);background:#ffef8db3}.magic-ice{color:#99e1fffa;background:radial-gradient(circle,#ebfcffdb,#97deff8f 52%,#0000 72%);box-shadow:0 0 15px #8fdaffdb}.magic-ice:before{clip-path:polygon(50% 0,60% 38%,100% 50%,60% 62%,50% 100%,40% 62%,0 50%,40% 38%);background:#ffffffad}.magic-water{color:#4cb0effa;background:radial-gradient(circle at 50% 42%,#ccf2ffd1,#4aabe794 48%,#0000 72%);box-shadow:0 0 15px #41a2e0c7}.magic-water:before{border:2px solid #d6f8ffdb;transform:scaleX(1.28)}@keyframes magic-pop{0%{opacity:0;transform:scale(.38)rotate(-12deg)}35%{opacity:1;transform:scale(1.14)rotate(8deg)}to{opacity:0;transform:scale(1.48)rotate(18deg)}}.notes-grid{color:#9b7c5f;grid-template-columns:repeat(3,1fr);place-items:center;width:82%;height:82%;font-family:Nunito,sans-serif;font-size:2cqw;font-weight:900;line-height:1;display:grid}.sr-status{clip:rect(0, 0, 0, 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.number-pad{grid-template-columns:repeat(9,minmax(0,1fr));gap:1.5cqw;margin:2.2cqh 0;display:grid}.number-pad button{color:#552606;background:linear-gradient(#fffefa,#fff4df);border-radius:2.8cqw;place-items:center;min-width:0;min-height:7cqh;font-family:"Baloo 2",Nunito,sans-serif;font-size:5cqw;font-weight:500;line-height:1;display:grid;box-shadow:inset 0 0 0 2px #ffffffb3,0 4px #854e192e,0 8px 12px #6d43171f}.number-pad button.active{color:#0d5c97;background:#e8f6ff;transform:translateY(2px);box-shadow:inset 0 0 0 2px #5db9ec,0 2px #854e1929}.actions{grid-template-columns:repeat(4,minmax(0,1fr));align-items:stretch;gap:2.4cqw;width:100%;display:grid}.tool{color:#45200f;border-radius:3cqw;grid-template-rows:1fr auto;align-content:center;place-items:center;gap:4px;min-width:0;height:11cqh;padding:8px 4px 7px;font-size:3cqw;font-weight:900;line-height:1;display:grid;position:relative;box-shadow:inset 0 0 0 2px #ffffff6b,inset 0 0 0 5px #ffffff1f,0 5px #71461a33,0 12px 18px #744a1d24}.tool:after{content:"";pointer-events:none;border:2px dashed #ffffffa6;border-radius:10px;position:absolute;inset:6px}.tool.notes{background:linear-gradient(#93ddd0,#76c9bc)}.tool.notes.active{outline-offset:-5px;outline:3px solid #299e8f}.tool.erase{background:linear-gradient(#ff9b92,#fa817a)}.tool.undo{background:linear-gradient(#ffd374,#f8b74e)}.tool.hint{color:#16476d;background:linear-gradient(#98d4f4,#7ebde5)}.tool b{z-index:1;color:#fff;background:linear-gradient(#b87930,#875018);border:4px solid #fff9ec;border-radius:999px;place-items:center;min-width:26px;height:26px;font-size:.9rem;line-height:1;display:grid;position:absolute;top:-10px;right:-7px;box-shadow:0 4px 8px #633a0d33}.tool-icon{z-index:1;transform-origin:50%;margin:0;display:block;position:relative}.note-icon{background:repeating-linear-gradient(#0000 0 8px,#86592633 9px 10px),#fff3d4;border-radius:5px;width:30px;height:31px;box-shadow:inset 0 0 0 2px #805a2f38,0 3px 5px #482a0e26}.note-icon:before{content:"";background:#62848b;border-radius:4px;width:3px;height:10px;position:absolute;top:-5px;left:6px;box-shadow:8px 0 #62848b,16px 0 #62848b}.note-icon:after{content:"";background:linear-gradient(#ffce51 0 70%,#e8892f 71% 100%);border-radius:8px 8px 2px 2px;width:9px;height:25px;position:absolute;bottom:0;right:-6px;transform:rotate(41deg);box-shadow:inset -3px 0 #854b0f29}.eraser-icon{background:linear-gradient(90deg,#fff5e8 0 44%,#78b9e9 45% 100%);border-radius:7px;width:32px;height:24px;transform:rotate(-42deg);box-shadow:inset 0 0 0 2px #523a301f,0 4px 5px #4c2b1226}.undo-icon{border:0 solid #a76619;border-width:0 0 7px 7px;border-radius:0 0 0 28px;width:33px;height:24px}.undo-icon:before{content:"";border-top:10px solid #0000;border-bottom:10px solid #0000;border-right:15px solid #a76619;width:0;height:0;position:absolute;bottom:8px;left:-10px}.hint-icon{background:radial-gradient(circle at 34% 30%,#fff7ae,#ffd75d 70%);border:3px solid #f1a531;border-radius:50% 50% 45% 45%;width:28px;height:29px;display:block}.hint-icon:before{content:"";background:linear-gradient(#7aa1ad,#445c69);border-radius:0 0 5px 5px;width:12px;height:9px;position:absolute;bottom:-8px;left:7px}
