body:has(.sumi){zoom:1;overflow:hidden}.sumi{--paper:#f4efe6;--sumi:#1b1f2a;--indigo:#2c3e75;--verm:#d23c26;--gold:#b89b5e;--seal:#b9352a;--ink-2:rgba(27,31,42,.62);--ink-3:rgba(27,31,42,.38);--hair:rgba(27,31,42,.16);--current:var(--sumi);--serif:"Iowan Old Style","Palatino Linotype",Palatino,"Book Antiqua",P052,"URW Palladio L",Georgia,serif;--gutter:clamp(16px,2.8vw,44px);position:fixed;inset:0;overflow:hidden;background:var(--paper);color:var(--sumi);font-family:var(--serif);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent}.sumi *,.sumi :after,.sumi :before{box-sizing:border-box}.sumi .stage{position:fixed;inset:0;touch-action:none;cursor:crosshair;outline:none}.sumi .stage.has-ring{cursor:none}.sumi .stage:focus-visible:after{content:"";position:absolute;inset:10px;border:1px dashed var(--ink-3);pointer-events:none}.sumi .stage canvas{position:absolute;inset:0;width:100%;height:100%;display:block}.sumi .ink-layer{mix-blend-mode:multiply;image-rendering:auto}.sumi .fx-layer,.sumi .masthead{pointer-events:none}.sumi .masthead{position:fixed;top:var(--gutter);left:var(--gutter);-webkit-user-select:none;-moz-user-select:none;user-select:none;z-index:2}.sumi .masthead h1{margin:0;padding-top:4px;font-weight:400;font-size:clamp(26px,2.6vw,38px);line-height:1.1;letter-spacing:.14em;color:var(--sumi);opacity:.9}.sumi .sidenote{position:fixed;top:calc(var(--gutter) + clamp(64px, 9vh, 96px));left:var(--gutter);display:flex;gap:clamp(8px,1vw,14px);align-items:flex-start;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;z-index:2}.sumi .sidenote .sub{writing-mode:vertical-rl;text-orientation:mixed;margin:0;padding-block-start:1.1em;font-style:italic;font-size:clamp(15px,1.3vw,18px);letter-spacing:.18em;color:var(--ink-2);white-space:nowrap;position:relative}.sumi .sidenote .sub:after{content:"";position:absolute;top:0;left:50%;width:1px;height:.8em;background:var(--hair)}.sumi .signature{position:fixed;left:var(--gutter);bottom:clamp(20px,4.5vh,46px);display:flex;align-items:flex-end;gap:12px;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;z-index:2}.sumi .hanko{width:clamp(30px,2.7vw,40px);height:auto;display:block;mix-blend-mode:multiply;transform:rotate(-1.4deg)}.sumi .colophon{margin:0 0 2px;font-size:10px;line-height:1.7;letter-spacing:.2em;text-transform:lowercase;color:var(--ink-3);font-variant-numeric:tabular-nums}.sumi .colophon span{display:block}.sumi .credit{position:fixed;right:var(--gutter);bottom:clamp(20px,4.5vh,46px);margin:0;font-size:11px;font-style:italic;letter-spacing:.1em;color:var(--ink-3);z-index:2}.sumi .credit a{color:var(--ink-2);text-decoration:none;border-bottom:1px solid var(--hair);transition:color .3s ease,border-color .3s ease}.sumi .credit a:hover{color:var(--sumi);border-color:var(--ink-3)}.sumi .tools{position:fixed;right:var(--gutter);top:50%;transform:translateY(-50%);display:flex;flex-direction:column;align-items:center;gap:6px;z-index:3;-webkit-user-select:none;-moz-user-select:none;user-select:none}.sumi .tools:before{content:"";position:absolute;inset:-40px -26px;background:radial-gradient(closest-side,rgba(244,239,230,.88),rgba(244,239,230,.6) 55%,rgba(244,239,230,0));z-index:-1;pointer-events:none}.sumi .tools .label{margin:0 0 6px;writing-mode:vertical-rl;font-size:10px;letter-spacing:.38em;text-transform:uppercase;color:var(--ink-3)}.sumi .ink-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;padding:6px 4px 5px;width:74px;display:grid;justify-items:center;gap:3px;font:inherit;color:var(--ink-3);cursor:pointer;border-radius:3px;transition:color .5s ease}.sumi .ink-btn .blot{width:26px;height:26px;display:block;transition:transform .6s cubic-bezier(.2,.8,.2,1)}.sumi .ink-btn .blot circle{transition:r .6s cubic-bezier(.2,.8,.2,1),opacity .6s ease}.sumi .ink-btn .name{white-space:nowrap;font-size:12.5px;letter-spacing:.06em;line-height:1.1}.sumi .ink-btn .jp{font-size:10px;font-style:italic;letter-spacing:.12em;color:var(--ink-3);opacity:.8;line-height:1}.sumi .ink-btn:hover{color:var(--ink-2)}.sumi .ink-btn:hover .blot{transform:scale(1.08) rotate(-8deg)}.sumi .ink-btn[aria-pressed=true]{color:var(--sumi)}.sumi .ink-btn[aria-pressed=true] .blot{transform:scale(1.14)}.sumi .ink-btn .ring{opacity:0}.sumi .ink-btn[aria-pressed=true] .ring{opacity:1}.sumi .rule{width:1px;height:34px;background:var(--hair);margin:6px 0}.sumi .still-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;font:inherit;font-style:italic;font-size:14px;letter-spacing:.14em;color:var(--ink-2);writing-mode:vertical-rl;padding:12px 10px;cursor:pointer;position:relative;border-radius:3px;transition:color .4s ease;display:flex;align-items:center;gap:10px}.sumi .still-btn svg{width:16px;height:16px;flex:none;transition:transform 1.2s ease}.sumi .still-btn:hover{color:var(--sumi)}.sumi .still-btn:hover svg{transform:scale(1.18)}.sumi .still-btn.is-stilling{color:var(--ink-3)}.sumi .still-btn.is-stilling svg{animation:sumi-breathe 1.6s ease-in-out infinite}@keyframes sumi-breathe{50%{transform:scale(1.35);opacity:.5}}.sumi .sound-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;width:40px;height:40px;display:grid;place-items:center;color:var(--ink-3);cursor:pointer;border-radius:50%;transition:color .3s ease}.sumi .sound-btn:hover{color:var(--sumi)}.sumi .sound-btn svg{width:18px;height:18px}.sumi .sound-btn .wave{transition:opacity .3s ease}.sumi .sound-btn[aria-pressed=false] .wave,.sumi .sound-btn[aria-pressed=true] .mute{opacity:0}.sumi :focus-visible{outline:1.5px dashed var(--sumi);outline-offset:3px}.sumi a:focus:not(:focus-visible),.sumi button:focus:not(:focus-visible){outline:none}.sumi .hint{position:fixed;left:50%;bottom:clamp(20px,4.5vh,46px);transform:translateX(-50%);margin:0;font-style:italic;font-size:14px;letter-spacing:.08em;color:var(--ink-2);white-space:nowrap;pointer-events:none;transition:opacity 1.6s ease,transform 1.6s ease;z-index:2}.sumi .hint kbd{font:inherit;font-style:normal;font-size:11px;letter-spacing:.1em;border-bottom:1px solid var(--hair)}.sumi .hint.gone{opacity:0;transform:translate(-50%,8px)}.sumi .hint .dot{display:inline-block;margin:0 .7em;color:var(--ink-3)}.sumi .sr-only{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.sumi .join{position:fixed;top:var(--gutter);right:var(--gutter);z-index:4;width:-moz-max-content;width:max-content;max-width:calc(100vw - 2 * var(--gutter));background:rgba(244,239,230,.78);backdrop-filter:blur(10px) saturate(1.05);border:1px solid var(--hair);border-radius:14px;box-shadow:0 1px 1px rgba(60,48,30,.05),0 10px 30px -8px rgba(60,48,30,.22),0 30px 60px -30px rgba(60,48,30,.25);transition:box-shadow .5s ease,transform .5s cubic-bezier(.2,.8,.2,1);animation:sumi-float 7s ease-in-out infinite}.sumi .join.is-open{width:min(340px,calc(100vw - 2 * var(--gutter)));animation:none}@keyframes sumi-float{50%{transform:translateY(-3px)}}.sumi .join-toggle{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;font:inherit;font-size:15px;letter-spacing:.08em;color:var(--sumi);padding:11px 20px;cursor:pointer;border-radius:14px;display:flex;align-items:center;gap:10px}.sumi .join-toggle .seal{width:8px;height:8px;border-radius:50%;background:var(--seal);opacity:.85}.sumi .join-body{padding:20px 22px 18px;display:grid;gap:14px;animation:sumi-panel-in .45s cubic-bezier(.2,.8,.2,1)}@keyframes sumi-panel-in{0%{opacity:0;transform:translateY(-4px)}}.sumi .join-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.sumi .join h2.join-lead{font-size:19px;line-height:1.35;letter-spacing:.01em;max-width:15em}.sumi .join h2{margin:0;font-size:22px;font-weight:400;letter-spacing:.04em}.sumi .join p{margin:0;font-size:14.5px;line-height:1.5;color:var(--ink-2)}.sumi .join .small{font-size:12.5px;color:var(--ink-3)}.sumi .join-close{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;color:var(--ink-3);font:inherit;font-size:20px;line-height:1;width:32px;height:32px;margin:-6px -8px 0 0;border-radius:50%;cursor:pointer}.sumi .join-close:hover{color:var(--sumi)}.sumi .join-primary,.sumi .join-secondary{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:flex;align-items:center;justify-content:center;gap:10px;width:100%;padding:12px 16px;border-radius:10px;font:inherit;font-size:15px;letter-spacing:.03em;text-decoration:none;cursor:pointer;transition:background-color .3s ease,color .3s ease,border-color .3s ease}.sumi .join-primary{border:1px solid var(--sumi);background:var(--sumi);color:var(--paper)}.sumi .join-primary:hover{background:#2a3040}.sumi .join-primary[aria-disabled=true]{opacity:.55;cursor:default}.sumi .join-secondary{border:1px solid var(--hair);background:rgba(255,253,248,.55);color:var(--sumi)}.sumi .join-secondary:hover{border-color:var(--ink-3);background:rgba(255,253,248,.85)}.sumi .join-primary svg,.sumi .join-secondary svg{width:18px;height:18px;flex:none}.sumi .join-step{display:grid;gap:10px;padding-top:14px;border-top:1px solid var(--hair)}.sumi .join-step h3{margin:0;font-size:12px;font-weight:400;letter-spacing:.24em;text-transform:uppercase;color:var(--ink-3)}.sumi .join-step ol{margin:0;padding-left:1.2em;list-style:decimal;font-size:14px;line-height:1.55;color:var(--ink-2)}.sumi .join-foot{display:flex;justify-content:center}.sumi .join-foot a{font-size:13px;color:var(--ink-2);text-decoration:none;border-bottom:1px solid var(--hair)}.sumi .join-foot a:hover{color:var(--sumi)}.sumi .join [role=alert]{color:var(--seal);font-size:13.5px}@media (max-width:640px){.sumi .masthead{top:16px;left:16px}.sumi .masthead h1{font-size:24px;letter-spacing:.1em;padding-top:6px}.sumi .sidenote{top:76px;left:16px}.sumi .sidenote .sub{font-size:13px}.sumi .tools{gap:2px}.sumi .tools .label{display:none}.sumi .ink-btn{width:50px;padding:5px 2px}.sumi .ink-btn .jp{display:none}.sumi .ink-btn .name{font-size:11px}.sumi .still-btn{font-size:13px;padding:10px 8px}.sumi .rule{height:20px}.sumi .hint{font-size:13px;bottom:52px}.sumi .colophon,.sumi .hint .desk{display:none}.sumi .credit{font-size:10.5px}.sumi .join{top:16px;right:16px}}@media (hover:none){.sumi .hint .desk{display:none}}@media (prefers-reduced-motion:reduce){.sumi *,.sumi :after,.sumi :before{transition-duration:.01ms!important;animation:none!important}.sumi .join{animation:none}}