*{box-sizing:border-box}html,body{margin:0;min-width:280px;background:#eef0e7;color:#203d35;font:15px/1.4 system-ui,sans-serif}main{max-width:464px;margin:auto;padding:4px}.topbar{height:48px;display:flex;gap:3px;align-items:center}.identity{flex:1;min-width:0}h1{font:25px/1 Georgia,serif;margin:0}#level{font-size:10px;line-height:1.3;white-space:nowrap;margin:3px 0 0}button{font:inherit;color:inherit;cursor:pointer;touch-action:manipulation}button:disabled{opacity:.5;cursor:default}.topbar>button{min-width:44px;min-height:44px;padding:2px;font-size:11px;border:1px solid #96a993;border-radius:7px;background:#f9fbf6}.topbar>button[aria-pressed=true]{background:#eacb8d}#board{--n:4;display:grid;grid-template-columns:18px repeat(var(--n),minmax(0,1fr)) 18px;grid-template-rows:18px repeat(var(--n),minmax(0,1fr)) 18px;gap:2px;width:100%;aspect-ratio:1;margin:2px auto 0}.cell{padding:0;min-width:0;min-height:0;border:1px solid #9daa9b;border-radius:5px;background:#fafaf4;color:#203d35;font:bold clamp(18px,5vw,28px) Georgia,serif}.cell.given{background:#d2ddcf;box-shadow:inset 0 -3px #869a82}.cell.notes{font:11px/1.1 system-ui;word-spacing:1px;padding:1px}.cell.selected{outline:3px solid #bb742a;outline-offset:-2px;background:#fff5d5}.cell.conflict{border:2px dashed #973e27}.clue{display:flex;align-items:center;justify-content:center;font:bold 16px/1 Georgia,serif}.clue.absent{color:#849388}.clue.matched{color:#32674a;text-decoration:underline;text-underline-offset:2px}.clue.wrong{outline:2px dashed #973e27;outline-offset:-2px}#selection{height:20px;font-size:12px;line-height:20px;margin:3px 1px 2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#digits{display:flex;gap:4px}#digits button{flex:1;min-width:0;min-height:48px;border:0;border-radius:7px;background:#234b3e;color:#fff;font:26px Georgia,serif}#status{font-size:11px;line-height:14px;min-height:28px;margin:4px 1px 0}.cell:focus-visible,button:focus-visible,select:focus-visible,summary:focus-visible,input:focus-visible{outline:3px solid #1e6777;outline-offset:1px}#save-alert{background:#fff3d3;border:1px solid #b9842f;border-radius:8px;padding:10px;margin-top:6px;font-size:12px}#save-alert button{min-height:44px;margin:2px}dialog{color:inherit;background:#eef0e7;border:1px solid #879f89;border-radius:12px;padding:14px;width:calc(100% - 20px);max-width:440px;max-height:calc(100% - 20px);overflow:auto}dialog::backdrop{background:#13291fc9}.dialog-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}h2{font:24px Georgia,serif;margin:0 0 10px}.dialog-head h2{margin:0}dialog button,dialog input,dialog select{min-height:44px;border:1px solid #8c9f8d;border-radius:7px;background:#f9fbf6;color:inherit;padding:7px;font:inherit}dialog select{display:block;width:100%;margin:3px 0 8px}dialog label{font-size:12px}dialog details{padding:10px;background:#fff8;border-radius:8px;margin-top:12px}dialog summary{font-weight:650;cursor:pointer}dialog p{font-size:13px}.muted{font-size:11px!important;color:#52645b}.menu-tools{display:flex;gap:6px;flex-wrap:wrap}.menu-tools button{flex:1}#levels{display:grid;grid-template-columns:repeat(4,1fr);gap:5px}#levels button{min-width:0;min-height:48px;padding:4px;font-size:13px}#levels button.current{outline:2px solid #b77a2b;background:#fff2ca}#levels button.done{background:#cfe3d0}.pager{display:flex;gap:4px;margin-top:10px}.pager button{flex:1;padding:4px;font-size:12px}#jump{display:flex;align-items:center;gap:7px;margin-top:8px}#page-input{width:70px}#page-range,#picker-note{font-size:12px}a{color:inherit}[hidden]{display:none!important}@media(min-width:600px){main{padding:12px}.topbar{height:54px}#board{max-width:420px}#selection,#status,#digits{max-width:420px;margin-left:auto;margin-right:auto}}

.site-links{display:flex;gap:8px;flex-wrap:wrap}.site-links a{display:inline-flex;align-items:center;min-height:44px;padding:4px 7px}.license-page{padding:18px;max-width:720px}.license-page h1{margin:24px 0}.license-page pre{white-space:pre-wrap;font:13px/1.65 system-ui,sans-serif}.license-page nav a{display:inline-block;min-height:44px;padding:8px}#load-error{padding:12px;background:#fff3d3}#load-error button,#load-error a{min-height:44px;padding:8px}
