.hal-post{background:var(--paper);min-height:100vh;color:var(--ink);position:relative}.hal-post__back{font-family:var(--serif-en);color:var(--ink-soft);letter-spacing:.02em;z-index:10;align-items:center;gap:8px;font-size:16px;text-decoration:none;transition:color .3s;display:inline-flex;position:fixed;top:50%;left:32px;transform:translateY(-50%)}.hal-post__back:hover{color:var(--ink)}.hal-post__arrow{font-family:var(--mono);font-size:14px}.hal-post__inner{max-width:720px;margin:0 auto;padding:96px 96px 120px}.hal-post__head{margin-bottom:56px}.hal-post__meta{font-family:var(--mono);letter-spacing:.2em;color:var(--ink-faint);align-items:center;gap:16px;margin-bottom:14px;font-size:10px;display:flex}.hal-post__date{font-variant-numeric:tabular-nums}.hal-post__tags{gap:12px;margin:0;padding:0;list-style:none;display:flex}.hal-post__tag:before{content:"·";color:var(--ink-faint);margin-right:12px}.hal-post__title{font-family:var(--serif-jp);letter-spacing:.01em;color:var(--ink);margin:0;font-size:32px;font-weight:500;line-height:1.45}.hal-post__body{font-family:var(--serif-jp);color:var(--ink);overflow-wrap:anywhere;word-break:break-word;font-size:16px;line-height:1.95}.hal-post__body h2{font-family:var(--serif-jp);letter-spacing:.01em;color:var(--ink);margin:56px 0 16px;font-size:22px;font-weight:500;line-height:1.5;position:relative}.hal-post__body h3{font-family:var(--serif-jp);color:var(--ink);margin:40px 0 12px;font-size:18px;font-weight:500;line-height:1.5}.hal-post__body .header-anchor{font-family:var(--mono);color:var(--ink-faint);opacity:0;font-size:.7em;text-decoration:none;transition:opacity .2s;position:absolute;left:-1.1em}.hal-post__body h2:hover .header-anchor,.hal-post__body h3:hover .header-anchor,.hal-post__body h4:hover .header-anchor{opacity:1}.hal-post__body p{text-wrap:pretty;margin:0 0 1.4em}.hal-post__body a{color:var(--accent);text-underline-offset:3px;word-break:break-all;overflow-wrap:anywhere;text-decoration:underline}.hal-post__body code{font-family:var(--mono);color:var(--ink);background:#0000000d;border-radius:4px;padding:2px 6px;font-size:.88em}.hal-post__body pre{font-family:var(--mono);background:#0000000b;border:1px solid #00000014;border-radius:6px;margin:32px 0;padding:18px 20px;font-size:13px;line-height:1.7;overflow-x:auto}.hal-post__body pre code{font-size:inherit;background:0 0;border-radius:0;padding:0}.hal-post__body blockquote{border-left:2px solid var(--accent);color:var(--ink-soft);margin:32px 0;padding:4px 24px;font-style:italic}.hal-post__body ul,.hal-post__body ol{margin:0 0 1.4em;padding-left:1.4em}.hal-post__body li{margin-bottom:.4em}.hal-post__body hr{border:0;border-top:1px solid #0000001a;margin:56px 0}.hal-post__body img{border-radius:4px;max-width:100%;height:auto}.hal-post__body table{border-collapse:collapse;width:100%;margin:32px 0;font-size:14px}.hal-post__body th,.hal-post__body td{text-align:left;border-bottom:1px solid #00000014;padding:10px 14px}.hal-post__body th{font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-faint);font-size:11px}@media (width<=640px){.hal-post__back{top:24px;left:24px;transform:none}.hal-post__inner{padding:80px 24px}.hal-post__title{font-size:26px}.hal-post__body h2{margin:40px 0 12px;font-size:19px}}
