:root{--ink:#1c2433;--ink2:#1c24339e;--accent:#9a3b2a;--serif:"Source Serif 4 Variable", "Noto Serif SC", "Songti SC", Georgia, serif;--hand:"Caveat Variable", "Ma Shan Zheng", "Kaiti SC", cursive}html,body{color:var(--ink);font-family:var(--serif);-webkit-font-smoothing:antialiased}canvas#c{touch-action:none;outline:none;width:100%;height:100%;display:block;position:fixed;inset:0}#ui{pointer-events:none;z-index:2;position:fixed;inset:0}.capsule{left:50%;bottom:max(18px, calc(env(safe-area-inset-bottom) + 12px));pointer-events:auto;-webkit-backdrop-filter:blur(14px)saturate(1.3);background:#f6f3ec9e;border-radius:999px;align-items:center;gap:2px;max-width:calc(100vw - 16px);padding:6px 8px;display:flex;position:absolute;transform:translate(-50%);box-shadow:0 6px 24px #1e1e142e,inset 0 0 0 1px #ffffff8c}.capsule button,.capsule a{all:unset;box-sizing:border-box;cursor:pointer;min-width:36px;height:36px;color:var(--ink);font:500 14px/1 var(--serif);white-space:nowrap;border-radius:999px;place-items:center;padding:0 8px;display:inline-grid}.capsule button:hover,.capsule a:hover{background:#1c243314}.capsule button:focus-visible,.capsule a:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.capsule button[disabled]{opacity:.32;cursor:default;background:0 0}.capsule button[aria-pressed=true]{background:#1c24331f}.capsule svg{stroke:currentColor;fill:none;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round;width:18px;height:18px}.capsule .title{text-overflow:ellipsis;justify-content:start;gap:8px;min-width:170px;max-width:260px;padding:0 10px;font-size:15px;display:inline-flex;overflow:hidden}.capsule .title b{color:var(--accent);font-weight:600}.capsule .sep{background:#1c243329;width:1px;height:22px;margin:0 6px}.capsule .lang{background:#1c24330f;border-radius:999px;align-items:center;gap:2px;height:36px;padding:3px;display:inline-flex}.capsule .lang button{min-width:40px;height:30px;font-size:13px}.capsule .lang button[aria-pressed=true]{background:var(--ink);color:#f6f3ec}@media (max-width:760px){.capsule .title{min-width:0;max-width:34vw;font-size:13px}.capsule .hide-sm{display:none}.capsule button,.capsule a{min-width:32px;padding:0 6px}}@media (max-width:480px){.capsule .title span{display:none}.capsule .sep{margin:0 2px}}.caption{left:50%;bottom:calc(max(18px, env(safe-area-inset-bottom) + 12px) + 62px);font:400 26px/1.2 var(--hand);color:var(--ink);opacity:0;text-align:center;background:#faf7efe0;border-radius:14px;max-width:min(640px,92vw);padding:8px 18px;transition:opacity .3s,transform .3s;position:absolute;transform:translate(-50%)translateY(6px);box-shadow:0 4px 18px #1e1e1426}.caption.show{opacity:1;transform:translate(-50%)translateY(0)}.caption small{font:italic 400 13px/1.3 var(--serif);color:var(--ink2);margin-top:2px;display:block}.credit{right:18px;bottom:max(30px, calc(env(safe-area-inset-bottom) + 20px));pointer-events:auto;font:400 12px/1.3 var(--serif);letter-spacing:.03em;color:#1c2433b8;text-align:right;text-decoration:none;position:absolute}.credit:hover{text-decoration:underline}@media (max-width:1100px){.credit{bottom:auto;top:max(12px, env(safe-area-inset-top));right:14px}}.toast{font:400 15px var(--serif);background:var(--ink);color:#f6f3ec;opacity:0;border-radius:10px;padding:8px 14px;transition:opacity .3s;position:absolute;top:18px;left:50%;transform:translate(-50%)}.toast.show{opacity:.94}dialog.confirm{max-width:380px;color:var(--ink);font-family:var(--serif);background:#fbf7ee;border:none;border-radius:14px;padding:22px 24px;box-shadow:0 20px 60px #0000004d}dialog.confirm::backdrop{background:#14120e59}dialog.confirm h2{margin:0 0 8px;font-size:21px;font-weight:600}dialog.confirm p{margin:0 0 18px;line-height:1.45}dialog.confirm .row{justify-content:flex-end;gap:10px;display:flex}dialog.confirm button{font:500 15px var(--serif);cursor:pointer;color:var(--ink);background:0 0;border:1px solid #1c24334d;border-radius:999px;padding:8px 14px}dialog.confirm button.danger{background:var(--accent);color:#fff;border-color:var(--accent)}#nogl{z-index:6;text-align:center;background:#e9e3d6;place-items:center;padding:24px;display:none;position:fixed;inset:0}#nogl h1{font:600 24px var(--serif);margin:0 0 10px}#nogl p{font:16px/1.5 var(--serif);max-width:460px;margin:0 auto}body.nogl #nogl{display:grid}body.still *,body.still :before,body.still :after{transition:none!important;animation:none!important}.sr{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}.sr:focus-within{clip:auto;width:auto;max-width:min(560px,100vw - 24px);height:auto;max-height:72vh;color:var(--ink);z-index:7;white-space:normal;background:#fbf7ee;border-radius:12px;padding:14px 18px;line-height:1.45;top:12px;left:12px;overflow:auto;box-shadow:0 10px 30px #00000040;position:fixed!important}#a11y h1{margin:.2em 0;font-size:22px}#a11y h2{color:var(--accent);margin:1em 0 .3em;font-size:16px}#a11y button{font:inherit;margin:2px 4px 2px 0}#a11y .skip{margin-bottom:6px;display:inline-block}
