:root{--bg:#f4f3ef;--paper:#fbfaf7;--ink:#15171b;--ink-2:#43474e;--ink-3:#5b6069;--muted:#7c8189;--rule:#dcd9d2;--rule-soft:#e6e3dc;--accent:#1e3a5f;--accent-soft:#eceef2;--grid-line:#1e3a5f0d;--dashed:#b9b3a7;--on-accent:#f7f6f2;--alert:#8c2f2f;--alert-soft:#f7eded;--font-sans:"Hiragino Kaku Gothic ProN", "Hiragino Sans", "Yu Gothic UI", "Yu Gothic", "Noto Sans JP", Meiryo, system-ui, sans-serif;--font-serif:"Hiragino Mincho ProN", "Yu Mincho", "YuMincho", "Noto Serif JP", serif;--font-mono:"SFMono-Regular", Consolas, "Liberation Mono", Menlo, monospace}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#131417;--paper:#191b1f;--ink:#ebe8e2;--ink-2:#b9b5ad;--ink-3:#97938c;--muted:#7e7a74;--rule:#2c2f34;--rule-soft:#24272b;--accent:#8fb0d8;--accent-soft:#1b2029;--grid-line:#8fb0d80e;--dashed:#454a52;--on-accent:#12161c;--alert:#e09a9a;--alert-soft:#2a1d1d}}:root[data-theme=dark]{--bg:#131417;--paper:#191b1f;--ink:#ebe8e2;--ink-2:#b9b5ad;--ink-3:#97938c;--muted:#7e7a74;--rule:#2c2f34;--rule-soft:#24272b;--accent:#8fb0d8;--accent-soft:#1b2029;--grid-line:#8fb0d80e;--dashed:#454a52;--on-accent:#12161c;--alert:#e09a9a;--alert-soft:#2a1d1d}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background-color:var(--bg);background-image:linear-gradient(to right, var(--grid-line) 1px, transparent 1px), linear-gradient(to bottom, var(--grid-line) 1px, transparent 1px);color:var(--ink);font-family:var(--font-sans);font-feature-settings:"palt" 1;-webkit-font-smoothing:antialiased;background-size:32px 32px;margin:0;font-size:16px;line-height:1.95}a{color:var(--accent)}a:hover{color:var(--ink)}.wrap{max-width:47rem;margin:0 auto;padding:0 1.6rem 4.5rem}.masthead{border-bottom:1px solid var(--ink);padding:4.75rem 0 2.5rem}.masthead-top{flex-wrap:wrap;align-items:baseline;gap:1.25rem;display:flex}.wordmark{font-family:var(--font-serif);letter-spacing:.14em;margin:0;font-size:clamp(2.1rem,8vw,2.875rem);font-weight:600;line-height:1.3}.romaji{font-family:var(--font-mono);letter-spacing:.22em;color:var(--accent);padding-bottom:.375rem;font-size:.6875rem}.tagline{letter-spacing:.01em;text-wrap:pretty;margin:1.375rem 0 0;font-size:clamp(1.15rem,4.4vw,1.4375rem);font-weight:600;line-height:1.72}.lede{color:var(--ink-2);text-wrap:pretty;margin:1.25rem 0 0;font-size:.9375rem;line-height:1.95}.section{padding:2.75rem 0 0}.section-head{align-items:center;gap:.875rem;margin-bottom:1.375rem;display:flex}.section-head.is-tight{margin-bottom:.75rem}.section-index{font-family:var(--font-mono);letter-spacing:.1em;color:var(--accent);font-size:.75rem}.section-title{letter-spacing:.06em;margin:0;font-size:1.1875rem;font-weight:700}.section-rule{background:var(--rule);flex-grow:1;height:1px}.section-note{color:var(--muted);margin:0 0 1.25rem;font-size:.84375rem;line-height:1.9}.symptoms{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.symptoms li{border-bottom:1px solid var(--rule-soft);color:var(--ink-2);align-items:flex-start;gap:1rem;padding:.8125rem 0;font-size:.96875rem;line-height:1.9;display:flex}.symptoms li:before{content:"";background:var(--accent);flex-shrink:0;width:6px;height:6px;margin-top:.6875rem}.steps{background:var(--rule);border:1px solid var(--rule);grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;margin:0;padding:0;list-style:none;display:grid}.step{background:var(--paper);flex-direction:column;gap:.5rem;padding:1.375rem 1.5rem;display:flex}.step-head{align-items:baseline;gap:.625rem;display:flex}.step-num{font-family:var(--font-mono);color:var(--accent);font-size:1.375rem;line-height:1}.step-title{letter-spacing:.03em;margin:0;font-size:1rem;font-weight:700}.step-body{color:var(--ink-3);text-wrap:pretty;margin:0;font-size:.875rem;line-height:1.9}.note{border-left:3px solid var(--accent);background:var(--accent-soft);color:var(--ink-2);text-wrap:pretty;margin-top:1.25rem;padding:1rem 1.25rem;font-size:.90625rem;line-height:1.9}.note strong{color:var(--ink)}.note.is-quiet{border-left-color:var(--rule);background:var(--paper);margin-top:.75rem}.methods{border-left:1px solid var(--accent);padding-left:1.625rem}.method{border-top:1px solid var(--rule-soft);flex-direction:column;gap:.5625rem;padding:1.625rem 0;display:flex}.method:first-child{border-top:none;padding-top:0}.method:last-child{padding-bottom:0}.method-title{letter-spacing:.02em;margin:0;font-size:1.0625rem;font-weight:700;line-height:1.65}.method-body{color:var(--ink-3);text-wrap:pretty;margin:0;font-size:.90625rem;line-height:1.98}.works{flex-direction:column;gap:.625rem;margin:0;padding:0;list-style:none;display:flex}.work{border:1px solid var(--rule);background:var(--paper);flex-direction:column;gap:.6875rem;padding:1.25rem 1.5rem;display:flex}.work-meta{flex-wrap:wrap;align-items:center;gap:.625rem;display:flex}.work-status{font-family:var(--font-mono);letter-spacing:.12em;color:var(--accent);border:1px solid var(--accent);padding:.1875rem .5rem;font-size:.65625rem}.work-field{letter-spacing:.02em;color:var(--muted);font-size:.8125rem}.work-title{letter-spacing:.02em;margin:0;font-size:1.03125rem;font-weight:700;line-height:1.65}.work-body{color:var(--ink-3);text-wrap:pretty;margin:0;font-size:.875rem;line-height:1.95}.work-figures{border-top:1px solid var(--rule-soft);grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin-top:.1875rem;padding-top:.875rem;display:grid}.figure{flex-direction:column;gap:.1875rem;display:flex}.figure-value{font-family:var(--font-mono);color:var(--accent);font-size:1.1875rem;line-height:1.2}.figure-label{letter-spacing:.04em;color:var(--muted);font-size:.71875rem}.limits{grid-template-columns:repeat(2,minmax(0,1fr));gap:.625rem;margin:0;padding:0;list-style:none;display:grid}.limits li{border:1px solid var(--rule);background:var(--paper);color:var(--ink-2);padding:.75rem 1rem;font-size:.90625rem;line-height:1.85}.contact-body{color:var(--ink-2);text-wrap:pretty;margin:0;font-size:.9375rem;line-height:1.98}.footer{border-top:1px solid var(--ink);flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:1rem;margin-top:3.25rem;padding-top:1.375rem;display:flex}.footer-name{font-family:var(--font-serif);letter-spacing:.16em;font-size:.9375rem}.footer-tagline{letter-spacing:.04em;color:var(--muted);font-size:.78125rem}.contact-form-lede{border-top:1px solid var(--rule-soft);margin-top:1.5rem;padding-top:1.5rem}.form{flex-direction:column;gap:1.25rem;margin-top:1.5rem;display:flex}.field{flex-direction:column;gap:.4375rem;display:flex}.field-label{letter-spacing:.04em;color:var(--ink);align-items:baseline;gap:.625rem;font-size:.875rem;font-weight:700;display:flex}.field-required,.field-optional{font-family:var(--font-mono);letter-spacing:.1em;border:1px solid var(--rule);padding:.0625rem .375rem;font-size:.65625rem}.field-required{color:var(--accent);border-color:var(--accent)}.field-optional{color:var(--muted)}.field-input{border:1px solid var(--rule);background:var(--paper);width:100%;color:var(--ink);font-family:var(--font-sans);appearance:none;border-radius:0;padding:.6875rem .875rem;font-size:.9375rem;line-height:1.8}.field-input:focus-visible{outline:2px solid var(--accent);outline-offset:1px;border-color:var(--accent)}.field-textarea{resize:vertical;min-height:9rem}.field-select{background-image:linear-gradient(45deg, transparent 50%, var(--ink-3) 50%), linear-gradient(135deg, var(--ink-3) 50%, transparent 50%);background-position:calc(100% - 1.125rem) calc(50% + .125rem),calc(100% - .75rem) calc(50% + .125rem);background-repeat:no-repeat;background-size:.375rem .375rem;padding-right:2.25rem}.field-hint{color:var(--muted);text-wrap:pretty;margin:0;font-size:.78125rem;line-height:1.8}.honeypot{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.form-errors{border-left:3px solid var(--alert);background:var(--alert-soft);color:var(--ink-2);padding:.875rem 1.125rem;font-size:.875rem;line-height:1.85}.form-errors-lead{color:var(--alert);margin:0 0 .25rem;font-weight:700}.form-errors ul{margin:0;padding-left:1.125rem}.form-privacy{color:var(--muted);text-wrap:pretty;margin:0;font-size:.78125rem;line-height:1.85}.form-foot{flex-wrap:wrap;align-items:center;gap:1rem;display:flex}.form-submit{border:1px solid var(--accent);background:var(--accent);color:var(--on-accent);font-family:var(--font-sans);letter-spacing:.08em;cursor:pointer;border-radius:0;padding:.8125rem 1.75rem;font-size:.9375rem;font-weight:700;line-height:1.6}.form-submit:hover{background:var(--paper);color:var(--accent)}.form-submit:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.form-submit:disabled{cursor:default;opacity:.6}.form-promise{color:var(--muted);font-size:.8125rem}.form-sent{border-left:3px solid var(--accent);background:var(--accent-soft);margin-top:1.5rem;padding:1.5rem 1.625rem}.form-sent-title{letter-spacing:.06em;color:var(--ink);margin:0;font-size:1rem;font-weight:700}.form-sent-body{color:var(--ink-2);text-wrap:pretty;margin:.5rem 0 0;font-size:.90625rem;line-height:1.9}.form-sent-note{color:var(--muted);text-wrap:pretty;margin:.75rem 0 0;font-size:.8125rem;line-height:1.85}.thanks{border:1px solid var(--rule);border-left:3px solid var(--accent);background:var(--paper);padding:2rem 2rem 2.25rem}.thanks-title{letter-spacing:.06em;margin:0;font-size:1.1875rem;font-weight:700}.thanks-body{color:var(--ink-2);text-wrap:pretty;margin:.75rem 0 0;font-size:.9375rem;line-height:1.95}.thanks-note{color:var(--muted);text-wrap:pretty;margin:.875rem 0 0;font-size:.8125rem;line-height:1.85}.thanks-back{font-family:var(--font-mono);letter-spacing:.08em;margin-top:1.75rem;font-size:.8125rem;display:inline-block}.diagram{color:var(--ink-3);margin:0 0 1.75rem}.diagram svg{width:100%;height:auto;display:block}.diagram-wide{display:none}@media (min-width:64rem){.diagram-steps{width:56.25rem;margin-inline:-6.225rem}.diagram-wide{display:block}.diagram-narrow{display:none}}.diagram-works{max-width:32rem}.masthead-mark{width:11.25rem;height:auto;color:var(--ink-3);opacity:.75;align-self:center;margin-left:auto}@media (max-width:48rem){.masthead-mark{display:none}.steps,.limits,.work-figures{grid-template-columns:repeat(1,minmax(0,1fr))}}@media (max-width:30rem){body{font-size:15.5px}.wrap{padding:0 1.25rem 3rem}.masthead{padding-top:3.25rem}.masthead-top{flex-direction:column;align-items:flex-start;gap:.375rem}.romaji{padding-bottom:0}.methods{padding-left:1.125rem}.step,.work{padding:1.125rem}.thanks{padding:1.375rem 1.25rem 1.5rem}.form-submit{width:100%}.form-foot{gap:.75rem}}
