:root{--text:#3c3c43;--text-2:#6d6d72;--text-disabled:#9d9da0;--border:#d8d8d9;--border-light:#ebebec;--bg:#fff;--kinari:#f4eede;--beige:#e0ceaa;--danger:#dd0c14;--font:"Helvetica Neue", Arial, "Noto Sans JP", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;--mono:ui-monospace, "SF Mono", Menlo, Consolas, "Roboto Mono", monospace}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--text);font:400 16px/1.7 var(--font);letter-spacing:.02em;line-break:strict;overflow-wrap:break-word;margin:0}a{color:inherit}h1,h2,p{margin:0}button{font:inherit;color:inherit}code,pre{font-family:var(--mono);letter-spacing:0;font-size:16px}pre{background:var(--kinari);color:var(--text);margin:0;padding:12px 16px;line-height:1.5;overflow-x:auto}.prose :not(pre)>code{background:var(--kinari);padding:2px 4px}.term{background:var(--kinari);padding:8px 8px 0 12px;position:relative;overflow:hidden}.term.loading .xterm{visibility:hidden}.term:not(.loading) .progress,.term:not(.loading) .boot{display:none}.progress{background:var(--text);width:0;height:2px;transition:width .2s linear;position:absolute;top:0;left:0}.boot{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:16px;display:flex;position:absolute;inset:0}.boot .sub{font-size:14px}.boot .retry{border:1px solid var(--text);background:0 0;border-radius:4px;min-height:44px;margin-top:4px;padding:0 24px}.spinner{border:2px solid var(--beige);border-top-color:var(--text);border-radius:50%;width:32px;height:32px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.spinner{animation-duration:2.4s}}.cheer{z-index:20;pointer-events:none;background:#f4eeded9;flex-direction:column;justify-content:center;align-items:center;gap:8px;animation:.3s 1.2s forwards cheer-out;display:flex;position:absolute;inset:0}.cheer svg{fill:none;width:120px;height:120px;stroke:var(--text);stroke-width:6px;stroke-linecap:round}.cheer circle{stroke-dasharray:1;stroke-dashoffset:1px;animation:.3s ease-out forwards cheer-draw}.cheer p{letter-spacing:2.4px;font-size:20px;font-weight:700}@keyframes cheer-draw{to{stroke-dashoffset:0}}@keyframes cheer-out{to{opacity:0}}@keyframes pop{50%{transform:scale(1.25)}}@media (prefers-reduced-motion:reduce){.cheer circle{stroke-dashoffset:0;animation:none}}.cands{background:var(--kinari);border-top:1px solid var(--beige);scrollbar-width:none;flex:none;height:44px;display:flex;overflow-x:auto}.cands button{border:0;border-right:1px solid var(--beige);white-space:nowrap;background:0 0;flex:none;min-width:44px;height:100%;padding:0 12px}.keys{background:var(--kinari);border-top:1px solid var(--beige);scrollbar-width:none;display:flex;overflow-x:auto}.keys button{min-width:44px;height:44px;font:16px var(--mono);background:0 0;border:0;flex:none;padding:0 8px}.icon{fill:none;stroke:currentColor;stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round;width:24px;height:24px;display:block}.sr{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.bar{border-bottom:1px solid var(--border-light);justify-content:space-between;align-items:center;height:44px;padding:0 16px;display:flex}.mark{letter-spacing:2.4px;font-weight:700;text-decoration:none}.count{color:var(--text-2);font-variant-numeric:tabular-nums;font-size:14px}.page{max-width:720px;margin:0 auto;padding:32px 16px 64px}.page h1{margin-top:16px;font-size:26px;line-height:1.6}.page h2{margin-top:48px;font-size:16px;font-weight:700}.page .lead{color:var(--text-2);margin-top:8px}.page p{margin-top:16px}.rows{border-top:1px solid var(--border-light);margin:12px 0 0;padding:0;list-style:none}.rows>li>a{border-bottom:1px solid var(--border-light);align-items:center;gap:12px;min-height:56px;padding:12px 0;text-decoration:none;display:flex}.rows .sub{color:var(--text-2);font-size:14px}.rows .state{color:var(--border);flex:none}.rows a.solved .state{color:var(--text)}.rows a.solved .state path{fill:currentColor}.foot{max-width:720px;color:var(--text-2);margin:0 auto;padding:24px 16px 48px;font-size:14px}
