:root{font-family:'Avenir Next','PingFang SC',system-ui,sans-serif;color:#283e45;background:#eef3f3;--ink:#283e45;--blue:#346b99;--paper:#fafbf8;--line:#d2dddd;--selected:#dcebf4;--red:#b65557}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:linear-gradient(110deg,#edf3f4,#f3f4ef)}button{font:inherit;cursor:pointer;background:transparent;color:inherit;border:1px solid #c0cdcf;border-radius:5px;padding:10px 14px;touch-action:manipulation}button:hover:not(:disabled){background:#e4edf0}button:disabled{opacity:.42;cursor:default}button:focus-visible,a:focus-visible,select:focus-visible{outline:3px solid #688daf;outline-offset:3px}a{color:inherit}.shell{max-width:1130px;margin:auto;padding:25px 44px 30px}header{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #cad5d7;padding-bottom:20px}.brand{font-size:16px;font-weight:900;letter-spacing:1px;text-decoration:none}.brand span{color:#668894}#edition{font-size:10px;letter-spacing:3px;color:#80969c}#language{font-size:11px;padding:7px 12px}.heading{display:flex;justify-content:space-between;align-items:center;margin:29px 0 25px}.heading p{font-size:11px;letter-spacing:3px;color:#7c9299;margin:0 0 8px}h1{font:44px 'Songti SC',Georgia,serif;letter-spacing:3px;margin:0}h1 span{font:14px Georgia,serif;font-style:italic;letter-spacing:1px;margin-left:20px;color:#6d8a93}#new-game{font-size:12px}.layout{display:grid;grid-template-columns:minmax(0,580px) minmax(240px,290px);gap:42px;justify-content:center;align-items:start}.notebook{padding:20px 24px 18px;background:var(--paper);border:1px solid #d0d8d5;box-shadow:5px 6px 0 #e0e7e2,6px 7px 0 #c5d1cb,0 18px 34px #1f485412}.sheet-top{display:flex;justify-content:space-between;align-items:center;font-size:11px;color:#728a92;margin-bottom:17px}.sheet-top>div{display:flex;align-items:center;gap:12px}#timer{font:18px Georgia,serif;font-variant-numeric:tabular-nums;color:var(--ink)}#pause{padding:4px 0;border:0;font-size:10px}.board-wrap{position:relative}#board{display:grid;grid-template-columns:repeat(9,minmax(0,1fr));border:2px solid #526e78;background:white}.cell{aspect-ratio:1;border:0;border-right:1px solid #d2dddd;border-bottom:1px solid #d2dddd;border-radius:0;padding:0;position:relative;min-width:0;font:clamp(20px,2.8vw,31px) Georgia,'Times New Roman',serif;color:var(--blue);background:#fff}.cell.given{font-weight:700;color:var(--ink)}.cell.peer{background:#f0f5f6}.cell.same{background:#e2edf1;color:#255476}.cell.selected{background:#dcebf4;box-shadow:inset 0 0 0 2px #6a96b3;z-index:1}.cell.conflict{color:var(--red);background:#fae9e7}.cell.conflict::after{content:'';position:absolute;bottom:5px;width:4px;height:4px;border-radius:50%;background:var(--red);left:calc(50% - 2px)}.cell.box-right{border-right:2px solid #526e78}.cell.box-bottom{border-bottom:2px solid #526e78}.cell.edge-right{border-right:0}.cell.edge-bottom{border-bottom:0}.cell:disabled{opacity:1;cursor:default}.cell:hover:not(:disabled){background:#e8f0f5}.cell.selected:hover:not(:disabled){background:#dcebf4}.pencil-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr);position:absolute;inset:3px;font:11px system-ui;color:#728fa3}.pencil-grid span{display:grid;place-items:center}.sheet-bottom{display:flex;justify-content:space-between;font-size:10px;color:#7c9196;margin-top:14px;gap:12px}#conflicts{color:var(--red)}.progress-track{height:2px;background:#e3e9e7;margin-top:10px}.progress-track i{height:100%;display:block;background:#8aa7b5;transition:width .2s}aside{padding-top:5px}.label{font-size:10px;letter-spacing:2px;color:#82979c;margin:0 0 13px}#keypad{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}#keypad button{background:#fafcf9;font:27px Georgia,serif;position:relative;padding:12px;min-height:62px;border:1px solid #cdd9d8;box-shadow:0 2px #dde5e3}#keypad small{position:absolute;right:6px;bottom:4px;font:9px system-ui;color:#8a9e9f}#keypad .complete{color:#8a9e9f;background:#e9efec}.tools{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:18px}.tools button{font-size:11px;padding:11px 5px;background:#f8faf7}.tools #notes[aria-pressed="true"]{background:#346b99;color:white;border-color:#346b99}#message{font-size:11px;line-height:1.8;color:#638498;min-height:40px;margin:16px 0}.rules{border-top:1px solid #cedadc;padding-top:15px}.rules h2{font:20px 'Songti SC',Georgia,serif;margin:0 0 12px}.rules p{font-size:11px;line-height:1.9;color:#7b8e94}.rules button{font-size:10px;border:0;padding:0;color:#557d93}.personal{display:flex;justify-content:space-between;border-top:1px solid #cedadc;margin-top:20px;padding-top:14px;font-size:10px;color:#7d9298}.personal strong{font:16px Georgia;color:#41697d}#cover{position:absolute;inset:0;background:#f6faf8f2;backdrop-filter:blur(6px);display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:28px;z-index:3}#cover[hidden]{display:none}.cover-mark{font:26px Georgia;letter-spacing:10px;color:#8aabbc}#cover h2{font:27px 'Songti SC',Georgia,serif;margin:20px 0 12px}#cover p{font-size:12px;line-height:1.9;color:#7a9097;max-width:300px;margin:0 0 22px}.primary{background:var(--blue);color:white;border:0}.primary:hover:not(:disabled){background:#2a597f}footer{font-size:10px;letter-spacing:1px;text-align:center;color:#8a9c9f;margin-top:28px}dialog{border:1px solid #ced9d8;border-radius:8px;padding:32px;max-width:490px;width:calc(100vw - 28px);max-height:85dvh;overflow:auto;background:var(--paper);color:var(--ink);box-shadow:0 20px 70px #23465226}dialog::backdrop{background:#28464e65;backdrop-filter:blur(4px)}#close{position:absolute;right:9px;top:8px;font-size:21px;border:0;padding:3px 10px}dialog h2{font:29px 'Songti SC',Georgia,serif;margin:10px 0 16px}dialog p,dialog li{font-size:13px;line-height:1.9;color:#6e858e}dialog ul{padding-left:20px}.dialog-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:23px}.dialog-actions button{font-size:12px}.difficulty-options{display:grid;gap:10px}.difficulty-options button{text-align:left;display:flex;justify-content:space-between;align-items:center;padding:15px;background:#f0f5f3}.difficulty-options small{font-size:11px;color:#78929b}.difficulty-options .current{border-color:#346b99}.result-time{font:48px Georgia;color:#346b99;margin:12px 0}.eyebrow{font-size:10px!important;letter-spacing:2px;color:#819ca7!important}
@media(max-width:800px){.shell{padding:18px 20px 28px;max-width:620px}.layout{grid-template-columns:1fr;gap:22px}.heading{margin:20px 0}.heading h1{font-size:34px}h1 span{font-size:12px;margin-left:12px}.notebook{padding:15px 17px}.cell{font-size:clamp(22px,5vw,31px)}aside{display:grid;grid-template-columns:1fr;gap:0}.label{display:none}#keypad{grid-template-columns:repeat(9,1fr);gap:5px}#keypad button{font-size:23px;min-height:49px;padding:8px 0 14px}#keypad small{font-size:8px;right:3px;bottom:2px}.tools{grid-template-columns:repeat(4,1fr);gap:6px;margin-top:12px}.tools button{font-size:10px}#message{min-height:20px;margin:12px 0}.rules{padding-top:13px}.rules p{margin:8px 0}.personal{margin-top:14px}.pencil-grid{font-size:10px}}
@media(max-width:420px){.shell{padding:13px 10px 24px}header{padding-bottom:14px}#edition{font-size:8px;letter-spacing:1px}.heading p{font-size:10px;letter-spacing:1px}.heading h1{font-size:30px}.heading h1 span{font-size:11px}.heading #new-game{font-size:10px;padding:8px 10px}.notebook{padding:12px 10px}.sheet-top{margin-bottom:12px}.cell{font-size:23px}.pencil-grid{inset:1px;font-size:8px}.sheet-bottom{font-size:9px}.layout{gap:18px}#keypad button{font-size:20px}.tools{gap:4px}.tools button{font-size:10px;padding:10px 2px}#cover{padding:20px}#cover h2{font-size:23px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;animation:none!important}}
