:root{--paper:#f0ece3;--paper-2:#f7f4ed;--tint:#e6e0d3;--ink:#1b1a17;--ink-2:#3b3833;--muted:#65605a;--hair:#cbc4b6;--accent:#ee440f;--accent-ink:#af310a;--grid:#1b1a1712;--on-accent:#fff;--gutter:56px;--page-max:1440px;--tap:44px}@media (width<=900px){:root{--gutter:20px}}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--paper);min-height:100vh;color:var(--ink);font-family:var(--font-serif);font-variant-numeric:tabular-nums;flex-direction:column;margin:0;line-height:1.5;display:flex}a{color:var(--ink);text-underline-offset:5px}a:hover{color:var(--accent-ink)}button,input,select,textarea{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--accent-ink);outline-offset:2px}h1,h2,h3,p{margin:0}.paper-grain{pointer-events:none;mix-blend-mode:multiply;opacity:.6;z-index:50;width:100%;height:100%;position:fixed;inset:0}.wrap{width:100%;max-width:var(--page-max);padding-left:var(--gutter);padding-right:var(--gutter);margin:0 auto}main{flex-grow:1}.label{font-family:var(--font-sans);letter-spacing:.12em;text-transform:uppercase;font-size:11px;font-weight:600}.label--muted{color:var(--muted)}.label--accent{color:var(--accent-ink)}.section-label{font-family:var(--font-sans);letter-spacing:.12em;text-transform:uppercase;align-items:baseline;gap:28px;font-size:12px;font-weight:600;display:flex}.section-label__title{font:inherit;letter-spacing:inherit;margin:0}.section-label__num{color:var(--muted)}.section-label__aside{color:var(--muted);margin-left:auto;font-weight:500}.sans{font-family:var(--font-sans)}.muted{color:var(--muted)}.hand{font-family:var(--font-hand);color:var(--ink-2);font-size:26px;line-height:1}.btn{background:var(--accent);min-height:52px;color:var(--on-accent);font-family:var(--font-serif);cursor:pointer;border:0;border-radius:2px;justify-content:space-between;align-items:center;gap:16px;padding:0 24px 3px;font-size:17px;text-decoration:none;display:inline-flex}.btn:hover{color:var(--on-accent);background:#d63b0b}.btn:disabled,.btn[aria-disabled=true]{background:var(--hair);color:var(--ink-2);cursor:not-allowed}.btn--ghost{color:var(--ink);border:1px solid var(--ink);background:0 0}.btn--ghost:hover{background:var(--paper-2);color:var(--ink)}.btn__hint{font-family:var(--font-sans);letter-spacing:.08em;opacity:.85;font-size:11px}.link-btn{min-height:var(--tap);font-family:var(--font-sans);text-underline-offset:5px;cursor:pointer;background:0 0;border:0;align-items:center;padding:0;font-size:14px;text-decoration:underline;display:inline-flex}.link-btn:hover{color:var(--accent-ink)}.card{background:var(--paper-2);border:1px solid var(--ink)}.rule-top{border-top:1px solid var(--ink)}.difficulty{gap:4px;display:inline-flex}.difficulty span{border:1px solid var(--ink);width:14px;height:14px}.difficulty span.on{background:var(--ink)}.radio{border:1.5px solid var(--ink);border-radius:50%;flex-shrink:0;place-items:center;width:22px;height:22px;display:grid}.radio--on{border-color:var(--accent)}.radio--on:after{content:"";background:var(--accent);border-radius:50%;width:12px;height:12px}.notice{border:1px solid var(--hair);background:var(--paper-2);padding:16px 20px;font-size:15px;line-height:1.5}.notice--error{border-color:var(--accent-ink)}.notice__code{font-family:var(--font-sans);letter-spacing:.06em;color:var(--muted);margin-top:6px;font-size:11px;display:block}.notice__retry{margin-top:4px}.skeleton{color:var(--muted);font-family:var(--font-sans);font-size:13px}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.offscreen-note{width:1px;height:1px;position:absolute;top:auto;left:-10000px;overflow:hidden}.page-head{padding-top:48px;padding-bottom:44px}.page-title:first-child{margin-top:0}.page-title{letter-spacing:-.03em;margin-top:28px;font-size:72px;font-weight:600;line-height:1}.page-lead{max-width:640px;color:var(--ink-2);margin-top:22px;font-size:18px;line-height:1.55}@media (width<=900px){.page-title{font-size:44px}.page-head{padding-top:28px;padding-bottom:28px}}.dialog{border:1px solid var(--ink);background:var(--paper-2);max-width:480px;color:var(--ink);padding:28px}.dialog::backdrop{background:#1b1a1766}.dialog__title{margin-bottom:12px;font-size:26px;font-weight:600}.dialog p{color:var(--ink-2);font-size:16px;line-height:1.5}.dialog__actions{flex-wrap:wrap;gap:12px;margin-top:22px;display:flex}
