:root{--ink:#000;--paper:#fff;--accent:orangered;--date:darkred;--visited:#2f4f4f;--muted:#555;--code-bg:#f6f6f3}*{box-sizing:border-box}html{font-size:16px;-webkit-text-size-adjust:100%}body{margin:0;background:var(--paper);color:var(--ink);font-family:hiragino kaku gothic pron,yu gothic,noto sans jp,system-ui,-apple-system,segoe ui,Roboto,Arial,sans-serif;line-height:1.8}a{color:var(--ink);text-decoration:none}a:visited{color:var(--visited)}a:hover{text-decoration:underline;text-underline-offset:2px}img,iframe,object,embed{max-width:100%}iframe{border:0}header h1{margin:0;padding:.3rem 1rem;font-size:1.4rem;font-weight:700;line-height:1.5;text-align:center;letter-spacing:.01em;border-top:10px solid var(--accent);border-bottom:3px solid var(--accent)}header h1 a{color:var(--ink)}header h1 a:hover{text-decoration:none}.wrap{display:grid;grid-template-columns:minmax(0,1fr)15.5rem;gap:3.5rem;align-items:start;max-width:1e3px;margin:0 auto;padding:2.75rem 1.5rem 1rem}.intro{font-size:.85em;color:var(--muted);margin:0 0 1.75rem}.date{color:var(--date);font-weight:700;font-size:1rem;margin:2.2rem 0 .7rem}.date:first-child{margin-top:0}.month{display:flow-root;scroll-margin-top:1rem}.cycle{font-size:.72em;font-weight:400;color:var(--muted);margin-left:.35em;letter-spacing:.01em}.note{font-size:.8em;color:var(--muted);margin:.45rem 0 0}.month-list{list-style:none;margin:0;padding:0;line-height:2}.month-list .count{color:var(--muted);font-size:.9em}.month-list .count::before{content:"("}.month-list .count::after{content:")"}.more{margin:.35rem 0 0;font-size:.92em}.box{border:1px solid var(--ink);padding:.45rem .8rem;background:var(--paper);line-height:1.9;overflow:auto}.entry+.entry{margin-top:.6rem}.entry .title{font-weight:700;font-size:1.1em}.entry .when{font-size:.92em;white-space:nowrap}.sub{font-size:.8em;line-height:1.45;padding:0 0 .45rem 1.25rem;color:#333}aside{font-size:.8em}.side{border:1px solid var(--ink);padding:.4rem .7rem;line-height:2}.side+.side{margin-top:1.25rem}.side ul{list-style:none;margin:0;padding:0}.side li::before{content:"●";font-size:.75em;margin-right:.4em;vertical-align:.08em}.side .label{font-weight:700;margin:0 0 .2rem;line-height:1.6}article.post .head{border-bottom:1px solid var(--ink);padding-bottom:.4rem;margin-bottom:1rem}article.post h1,article.post h2{font-size:1.3rem;line-height:1.5;margin:0 0 .15rem}article.post .meta{font-size:.8em;color:var(--muted)}article.post .meta a{color:var(--muted)}.content{font-size:1rem}.content p{margin:0 0 1.1rem}.content h2{font-size:1.1rem;margin:2rem 0 .6rem;padding-bottom:.2rem;border-bottom:1px solid #ccc}.content h3{font-size:1rem;margin:1.6rem 0 .5rem}.content ul,.content ol{margin:0 0 1.1rem;padding-left:1.6rem}.content blockquote{margin:0 0 1.1rem;padding:.3rem 0 .3rem 1rem;border-left:3px solid #ccc;color:var(--muted)}.content hr{border:0;border-top:1px solid #ccc;margin:2rem 0}.content figure{margin:1.6rem 0}.content figcaption{font-size:.8em;color:var(--muted);margin-top:.4rem}.content table{border-collapse:collapse;width:100%;font-size:.9em;margin-bottom:1.1rem}.content th,.content td{border:1px solid #ccc;padding:.35rem .6rem;text-align:left}code,kbd,samp{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.85em}:not(pre)>code{background:var(--code-bg);padding:.1em .3em}pre{border:1px solid #ddd;background:var(--code-bg);padding:.7rem .9rem;overflow-x:auto;font-size:.8rem;line-height:1.55;margin:0 0 1.1rem}pre code{background:0 0;padding:0}.post-nav{display:flex;justify-content:space-between;gap:1rem;margin-top:1.5rem;padding-top:.6rem;border-top:1px solid var(--ink);font-size:.8em}.tags{display:flex;flex-wrap:wrap;gap:.4rem;font-size:.85em}.tags a{border:1px solid #ccc;padding:0 .45rem}.terms{list-style:none;margin:0;padding:0;line-height:2}footer{max-width:1e3px;margin:3rem auto 0;padding:.9rem 1.5rem 3rem;border-top:1px solid var(--ink);font-size:.75em;color:var(--muted);text-align:center}footer a{color:var(--muted)}@media(max-width:780px){.wrap{display:flex;flex-direction:column;gap:1.75rem;padding-top:1.75rem}aside{order:-1;width:100%}.side-tags{display:none}.side{line-height:1.9}header h1{font-size:1.15rem}}.bg{background-color:#f7f7f7}.chroma{background-color:#f7f7f7;-webkit-text-size-adjust:none}.chroma .err{color:#f6f8fa;background-color:#82071e}.chroma .lnlinks{outline:none;text-decoration:none;color:inherit}.chroma .lntd{vertical-align:top;padding:0;margin:0;border:0}.chroma .lntable{border-spacing:0;padding:0;margin:0;border:0}.chroma .hl{background-color:#dedede}.chroma .lnt{white-space:pre;-webkit-user-select:none;user-select:none;margin-right:.4em;padding:0 .4em;color:#7f7f7f}.chroma .ln{white-space:pre;-webkit-user-select:none;user-select:none;margin-right:.4em;padding:0 .4em;color:#7f7f7f}.chroma .line{display:flex}.chroma .k{color:#cf222e}.chroma .kc{color:#cf222e}.chroma .kd{color:#cf222e}.chroma .kn{color:#cf222e}.chroma .kp{color:#cf222e}.chroma .kr{color:#cf222e}.chroma .kt{color:#cf222e}.chroma .na{color:#1f2328}.chroma .nc{color:#1f2328}.chroma .no{color:#0550ae}.chroma .nd{color:#0550ae}.chroma .ni{color:#6639ba}.chroma .nl{color:#900;font-weight:700}.chroma .nn{color:#24292e}.chroma .nx{color:#1f2328}.chroma .nt{color:#0550ae}.chroma .nb{color:#6639ba}.chroma .bp{color:#6a737d}.chroma .nv{color:#953800}.chroma .vc{color:#953800}.chroma .vg{color:#953800}.chroma .vi{color:#953800}.chroma .vm{color:#953800}.chroma .nf{color:#6639ba}.chroma .fm{color:#6639ba}.chroma .s{color:#0a3069}.chroma .sa{color:#0a3069}.chroma .sb{color:#0a3069}.chroma .sc{color:#0a3069}.chroma .dl{color:#0a3069}.chroma .sd{color:#0a3069}.chroma .s2{color:#0a3069}.chroma .se{color:#0a3069}.chroma .sh{color:#0a3069}.chroma .si{color:#0a3069}.chroma .sx{color:#0a3069}.chroma .sr{color:#0a3069}.chroma .s1{color:#0a3069}.chroma .ss{color:#032f62}.chroma .m{color:#0550ae}.chroma .mb{color:#0550ae}.chroma .mf{color:#0550ae}.chroma .mh{color:#0550ae}.chroma .mi{color:#0550ae}.chroma .il{color:#0550ae}.chroma .mo{color:#0550ae}.chroma .o{color:#0550ae}.chroma .ow{color:#0550ae}.chroma .or{color:#0550ae}.chroma .p{color:#1f2328}.chroma .c{color:#57606a}.chroma .ch{color:#57606a}.chroma .cm{color:#57606a}.chroma .c1{color:#57606a}.chroma .cs{color:#57606a}.chroma .cp{color:#57606a}.chroma .cpf{color:#57606a}.chroma .gd{color:#82071e;background-color:#ffebe9}.chroma .ge{color:#1f2328}.chroma .gi{color:#116329;background-color:#dafbe1}.chroma .go{color:#1f2328}.chroma .gl{text-decoration:underline}.chroma .w{color:#fff}