:root{color-scheme:light;--ink:#252d40;--muted:#5e687f;--paper:#eef0f7;--blue:#4058bb;--blue-soft:#e1e6fc;--line:#bec6d8;--white:#fdfdff;--error:#a33132;--error-soft:#fff0ed;font-family:ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}*{box-sizing:border-box}body{margin:0}a{color:inherit;text-underline-offset:4px}button{font:inherit;cursor:pointer;touch-action:manipulation}button:disabled{cursor:default;opacity:.45}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible{outline:3px solid var(--blue);outline-offset:4px}[hidden]{display:none!important}.skip{position:fixed;left:14px;top:-60px;z-index:10;background:var(--ink);color:#fff;padding:12px}.skip:focus{top:10px}.site-header,main,footer{width:min(1030px,calc(100% - 72px));margin:auto}.site-header{height:104px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:9px;font-size:24px;font-weight:720;letter-spacing:-.8px;text-decoration:none}.brand svg{width:33px;height:33px;fill:none;stroke:var(--blue);stroke-width:2.1;stroke-linecap:round;stroke-linejoin:round}.guide-link{font-size:13px;text-decoration:none;padding:14px 0}.guide-link span{margin-left:15px}.game-layout{display:grid;grid-template-columns:minmax(220px,1fr) minmax(0,460px);gap:78px;padding:54px 0 0}.intro{padding-top:30px}h1{font-size:clamp(42px,5.2vw,60px);line-height:1.02;letter-spacing:-2.5px;font-weight:650;margin:0 0 22px}h1>span{color:var(--blue)}.lead{font-size:25px;font-weight:350;line-height:1.4;letter-spacing:-.6px;margin:0 0 36px}.rule-line{border-top:1px solid var(--line);padding-top:22px;max-width:260px}.range{font:24px ui-monospace,"SFMono-Regular",Consolas,monospace;word-spacing:9px;letter-spacing:1px;color:var(--blue)}.rule-line p,.sign-lesson p{font-size:13px;line-height:1.75;color:var(--muted);max-width:235px;margin:10px 0 0}.sign-lesson{margin-top:24px}.sign-lesson>span{display:flex;align-items:center;gap:12px;font:25px ui-monospace,monospace}.sign-lesson svg,.number-pad svg{width:26px;height:26px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.rules-link{display:inline-block;font-size:12px;margin-top:27px;padding:10px 0;text-decoration:none;border-bottom:1px solid var(--line)}.rules-link span{margin-left:10px}.board-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:22px}.mode-switch{display:flex;border-bottom:1px solid var(--line)}.mode-switch button{border:0;background:transparent;color:var(--muted);padding:10px 15px;min-height:44px;font-size:13px}.mode-switch button[aria-pressed=true]{color:var(--blue);box-shadow:inset 0 -2px var(--blue);font-weight:650}#edition{font-size:12px;color:var(--muted);font-variant-numeric:tabular-nums}.board-wrap{padding:13px;border:1px solid #c4ccde;background:#e7ebf5;border-radius:10px}.board{display:grid;grid-template-columns:repeat(3,minmax(0,1fr) 24px) minmax(0,1fr);grid-template-rows:repeat(3,minmax(0,1fr) 24px) minmax(0,1fr);aspect-ratio:1;position:relative}.cell{position:relative;display:grid;place-items:center;border:1px solid #79859c;background:var(--white);border-radius:5px;color:var(--blue);padding:0;font:clamp(24px,3.6vw,36px) ui-monospace,"SFMono-Regular",Consolas,monospace;transition:background .12s,box-shadow .12s;min-width:0;min-height:0}.cell.given{color:var(--ink);background:#e4e8f0}.cell.given .number{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:7px}.cell.selected{box-shadow:inset 0 0 0 2px var(--blue);background:#f1f3ff}.cell.selected.given{background:#d8def2}.cell:hover{border-color:var(--blue)}.cell:focus-visible{outline-offset:2px;z-index:1}.cell.conflict{border:2px dashed var(--error);background:var(--error-soft);color:var(--error)}.error-mark{display:none;position:absolute;right:5px;top:2px;font:700 11px ui-sans-serif,sans-serif}.cell.conflict .error-mark{display:block}.cell.hinted{box-shadow:inset 0 0 0 3px #86652e}.inequality{display:grid;place-items:center;color:var(--ink)}.inequality svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linejoin:round;stroke-linecap:round}.inequality svg.vertical{transform:rotate(90deg)}.inequality.conflict{color:var(--error)}.board-meta{display:flex;gap:12px;justify-content:space-between;align-items:center;margin:16px 0 11px;font-size:11px;line-height:1.5;color:var(--muted)}.board-meta strong{font-weight:600;color:var(--ink);font-variant-numeric:tabular-nums}.number-pad{display:grid;grid-template-columns:repeat(5,1fr);gap:7px}.number-pad button{border:1px solid #929fba;border-radius:5px;min-height:52px;background:var(--white);color:var(--ink);font:24px ui-monospace,"SFMono-Regular",monospace;display:grid;place-items:center}.number-pad button:hover:not(:disabled){background:var(--blue-soft);border-color:var(--blue)}.number-pad button:active:not(:disabled){background:#cfd7f5}.tools{display:grid;grid-template-columns:.75fr 1fr 1.15fr;gap:8px;margin-top:13px}.tools button{background:transparent;border:1px solid var(--line);border-radius:5px;padding:10px 4px;min-height:44px;font-size:12px;color:var(--ink)}.tools #hint{color:white;background:var(--blue);border-color:var(--blue)}.tools button:not(:disabled):hover{box-shadow:inset 0 0 0 1px var(--blue)}.feedback{font-size:12px;line-height:1.7;color:var(--muted);margin:14px 0 0;min-height:21px}.conflicts{border-left:3px solid var(--error);padding-left:10px;color:var(--error);font-size:12px;line-height:1.6;margin:8px 0}.keyboard-help{font-size:12px;line-height:1.7;color:var(--muted);margin:14px 0 0}.text-button{border:0;background:none;border-bottom:1px solid var(--line);color:var(--blue);padding:12px 0;min-height:44px;font-size:12px;margin-top:4px}.text-button span{margin-left:13px}.finish{margin-top:17px;background:#dfe9df;border:1px solid #92a899;border-radius:6px;padding:20px;display:flex;align-items:center;gap:15px;justify-content:space-between}.finish h2{font-size:21px;letter-spacing:-.5px;margin:0 0 5px}.finish p{font-size:11px;line-height:1.6;margin:0}.finish button{border:0;background:none;color:var(--ink);font-size:12px;font-weight:600;min-height:44px;max-width:130px;text-align:left}.finish button span{display:block;font-size:21px;margin-top:5px}.notice{margin:16px 0 0;padding:15px;border:1px solid #aaa080;border-radius:6px;background:#faf5e8;font-size:12px;line-height:1.7}.notice p{margin:0 0 10px}.notice button{min-height:44px;border:1px solid #8a8063;border-radius:4px;color:var(--ink);background:transparent;padding:8px 12px;font-size:12px}.about{max-width:610px;margin:40px 0 50px}.about h2{font-size:25px;letter-spacing:-.6px;font-weight:550}.about p{font-size:13px;line-height:1.9;color:var(--muted)}.about a{font-size:12px;font-weight:550}footer{display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid var(--line);padding:25px 0 30px;font-size:11px;color:var(--muted)}footer nav{display:flex;gap:25px}footer a{text-decoration:none}dialog{width:min(420px,calc(100% - 32px));padding:28px;border:1px solid var(--line);border-radius:10px;color:var(--ink);background:var(--white)}dialog::backdrop{background:#252d4070}dialog h2{font-size:24px;margin:0 0 15px;letter-spacing:-.5px}dialog p{font-size:14px;line-height:1.7;color:var(--muted)}.dialog-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px;margin-top:24px}.dialog-actions button{min-height:44px;border:1px solid var(--line);border-radius:5px;background:transparent;color:var(--ink);padding:10px 14px;font-size:13px}.dialog-actions button[value=confirm]{background:var(--blue);color:#fff;border-color:var(--blue)}.guide{max-width:790px;padding-top:45px}.guide h1{font-size:48px;line-height:1.15;max-width:600px}.guide .lead{font-size:19px;line-height:1.7;letter-spacing:0;max-width:630px}.guide section{margin:33px 0}.guide h2{font-size:26px;letter-spacing:-.5px;margin-bottom:14px}.guide p,.guide li{font-size:15px;line-height:1.85;color:var(--muted)}.guide strong{color:var(--ink)}.guide li{margin-bottom:8px}.example{display:flex;gap:14px;align-items:center;font:29px ui-monospace,monospace;margin:22px 0}.example .box{background:var(--white);border:1px solid #79859c;border-radius:5px;min-width:58px;height:58px;display:grid;place-items:center}.example svg{width:24px;height:24px;fill:none;stroke:var(--ink);stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}.example .unknown{color:var(--blue);border:2px dashed var(--blue)}.play-link{display:inline-block;padding:14px 22px;background:var(--blue);color:#fff;min-height:48px;border-radius:5px;text-decoration:none;font-size:14px;margin:4px 0 45px}
@media(max-width:780px){.site-header,main,footer{width:min(490px,calc(100% - 34px))}.site-header{height:76px}.brand{font-size:21px}.brand svg{width:29px}.guide-link{font-size:12px}.game-layout{display:flex;flex-direction:column;gap:22px;padding-top:26px}.intro{padding:0}.intro h1{font-size:42px;margin:0 0 9px;letter-spacing:-1.8px}.lead{font-size:15px;line-height:1.65;margin:0}.intro .lead br{display:none}.rule-line{border:0;padding:0;max-width:none}.rule-line .range{display:none}.rule-line p{max-width:none;margin-top:5px;font-size:12px}.sign-lesson{display:flex;align-items:center;gap:12px;margin:7px 0 0}.sign-lesson>span{font-size:18px;gap:6px}.sign-lesson svg{width:18px;height:18px}.sign-lesson p{font-size:12px;max-width:none;margin:0}.rules-link{display:none}.board-toolbar{margin-bottom:14px}.board-wrap{padding:10px}.board{grid-template-columns:repeat(3,minmax(0,1fr) 20px) minmax(0,1fr);grid-template-rows:repeat(3,minmax(0,1fr) 20px) minmax(0,1fr)}.cell{font-size:30px}.board-meta{margin-top:13px}.number-pad button{min-height:49px}.about{margin:32px 0 35px}.about h2{font-size:22px}.guide{padding-top:32px}.guide h1{font-size:36px}.guide .lead{font-size:16px}.guide p,.guide li{font-size:14px}.guide h2{font-size:24px}.finish{padding:15px}footer{font-size:10px;flex-wrap:wrap;gap:14px}.example{gap:10px;font-size:23px}.example .box{min-width:47px;height:49px}.example svg{width:20px}}
@media(max-width:350px){.site-header,main,footer{width:calc(100% - 24px)}.board-wrap{padding:8px}.board{grid-template-columns:repeat(3,minmax(0,1fr) 17px) minmax(0,1fr);grid-template-rows:repeat(3,minmax(0,1fr) 17px) minmax(0,1fr)}.inequality svg{width:17px;height:17px}.board-meta{font-size:11px}.cell{font-size:27px}.tools{gap:5px}.tools button{font-size:11px}.number-pad{gap:5px}.sign-lesson p{font-size:12px}.example{gap:6px}.example .box{min-width:40px}.example svg{width:17px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;animation:none!important;scroll-behavior:auto!important}}
