@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-mono-latin-400-normal.DMJ8VG8y.woff2)format("woff2"),url(/_astro/ibm-plex-mono-latin-400-normal.CvHOgSBP.woff)format("woff")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/ibm-plex-mono-latin-500-normal.DSY6xOcd.woff2)format("woff2"),url(/_astro/ibm-plex-mono-latin-500-normal.CB9ihrfo.woff)format("woff")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/ibm-plex-mono-latin-600-normal.BgSNZQsw.woff2)format("woff2"),url(/_astro/ibm-plex-mono-latin-600-normal.DWFSQ4vo.woff)format("woff")}.tech-stack{border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:48px 0;overflow:hidden}.marquee-wrapper{flex-direction:column;gap:1.5rem;display:flex}.stack-path{width:min(800px, calc(100% - 2 * var(--gutter)));color:var(--text-dim);font-family:var(--font-mono);letter-spacing:.08em;margin:0 auto .25rem;font-size:.72rem}.stack-path span{color:var(--accent-light)}.marquee{overflow:hidden}.marquee-track{will-change:transform;gap:1rem;width:max-content;display:flex;transform:translate(0,0)}.marquee-content{flex-shrink:0;gap:1rem;display:flex}.marquee-content span{font-family:var(--font-mono);color:var(--text-dim);border:1px solid var(--border);white-space:nowrap;border-radius:2px;padding:.5rem 1.5rem;font-size:clamp(.8rem,1.2vw,.95rem);transition:color .3s,border-color .3s;display:inline-block}.marquee-content span:before{content:"./";color:var(--accent)}.marquee-content span:hover{color:var(--text);border-color:var(--accent-light)}@media (prefers-reduced-motion:reduce){.marquee-track{animation:none!important}}.hp-field{opacity:0;pointer-events:none;width:0;height:0;position:absolute;top:-9999px;left:-9999px;overflow:hidden}.contact-form{list-style:none}.contact-form input,.contact-form textarea,.contact-form select{font-family:var(--font-jp);color:var(--text);border:none;border-bottom:1px solid var(--border-accent);background:0 0;outline:none;width:min(100%,400px);margin-left:.75rem;padding:.5rem .75rem;font-size:.88rem;transition:border-color .3s}.contact-form select{appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%236a9a5c' d='M2 4l4 4 4-4'/%3E%3C/svg%3E");background-position:right .75rem center;background-repeat:no-repeat;padding-right:2rem}.contact-form input::placeholder,.contact-form textarea::placeholder,.contact-form select:invalid{color:var(--text-dim);letter-spacing:.1em}.contact-form input:focus,.contact-form textarea:focus,.contact-form select:focus{border-color:var(--accent-light)}.contact-form textarea{resize:vertical;min-height:80px;margin-top:.25rem;display:block}.dir-submit{font-family:var(--font-mono);font-size:inherit;border:1px solid var(--border-accent);color:var(--accent-light);cursor:pointer;border-radius:var(--radius-sm);background:0 0;padding:.5rem 1.25rem;font-weight:500;transition:color .3s,border-color .3s,background .3s}.dir-submit:hover{color:var(--accent-hover);border-color:var(--accent-light);background:#4a67411a}.status-ok{color:var(--accent-light)}.status-error{color:var(--error)}.cursor-blink{animation:1s step-end infinite blink}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}@media (width<=768px){.contact-form input,.contact-form textarea{width:100%;margin-left:0}.contact-form textarea{margin-left:0}}@media (prefers-reduced-motion:reduce){.cursor-blink{animation:none}}.card-wrapper{width:100%;height:clamp(480px,70vh,680px);margin-bottom:2rem;position:relative;overflow:hidden}.card-canvas{perspective:1000px;background:0 0;justify-content:center;align-items:center;width:100%;height:100%;display:flex}.card-tilt{aspect-ratio:1075/650;width:clamp(300px,52vw,500px);transform-style:preserve-3d;-webkit-transform-style:preserve-3d;transition:transform .26s ease-out}.card-tilt.is-dragging{will-change:transform;transition:none}.card-orientation{width:100%;height:100%;transform-style:preserve-3d;-webkit-transform-style:preserve-3d}.card-orientation[data-orientation=portrait]{transform:rotate(90deg)}.card-orientation.is-ready{transition:transform .42s cubic-bezier(.22,1,.36,1)}.card-body{width:100%;height:100%;transform-style:preserve-3d;-webkit-transform-style:preserve-3d;transform-origin:50%;position:relative}.card-overlay{transform-style:flat;aspect-ratio:1075/650;z-index:10;touch-action:none;cursor:grab;user-select:none;-webkit-touch-callout:none;width:clamp(300px,52vw,500px);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.card-overlay[data-orientation=portrait]{transform-style:flat;transform:translate(-50%,-50%)rotate(90deg)}.card-overlay:focus-visible{outline:1px solid var(--accent-light);outline-offset:4px}.card-overlay.is-dragging{cursor:grabbing}.card-face{border:1px solid var(--border-accent);opacity:0;visibility:hidden;pointer-events:none;border-radius:6px;transition:opacity .18s,visibility .18s;position:absolute;inset:0;overflow:hidden;box-shadow:0 8px 24px #00000059}.card-body[data-side=front] .card-front,.card-body[data-side=back] .card-back{opacity:1;visibility:visible}.card-body.is-switching{animation-duration:.56s;animation-timing-function:ease-in-out;animation-fill-mode:both}.card-body.is-switching-forward{animation-name:card-side-swap-forward}.card-body.is-switching-reverse{animation-name:card-side-swap-reverse}@keyframes card-side-swap-forward{0%{transform:rotateY(0)scale(1)}50%{transform:rotateY(-90deg)scale(.97)}50.1%{transform:rotateY(90deg)scale(.97)}to{transform:rotateY(0)scale(1)}}@keyframes card-side-swap-reverse{0%{transform:rotateY(0)scale(1)}50%{transform:rotateY(90deg)scale(.97)}50.1%{transform:rotateY(-90deg)scale(.97)}to{transform:rotateY(0)scale(1)}}.card-body[data-side=front] .card-back,.card-body[data-side=back] .card-front{opacity:0;visibility:hidden}.card-face img{object-fit:cover;-webkit-touch-callout:none;border-radius:6px;width:100%;height:100%;display:block}.card-wrapper--inline{--card-w:clamp(260px, 40vw, 380px);height:clamp(340px,48vh,460px);margin:1rem 0 .5rem;overflow:visible}.card-wrapper--inline .card-canvas{perspective-origin:calc(var(--card-w) * .302) 50%;justify-content:flex-start}.card-wrapper--inline .card-tilt{width:var(--card-w);margin-left:calc(var(--card-w) * -.198)}.card-wrapper--inline .card-overlay{width:var(--card-w);left:calc(var(--card-w) * .302)}.card-wrapper--inline .card-overlay[data-orientation=portrait]{left:calc(var(--card-w) * .302);transform:translate(-50%,-50%)rotate(90deg)}.dir-entry--meishi>.dir-expand{clip-path:inset(0 -200px 100%);max-height:0;padding-left:3.5ch;transition:max-height .35s cubic-bezier(.4,0,.2,1),opacity .25s,clip-path .35s cubic-bezier(.4,0,.2,1);overflow:visible}.dir-entry--meishi.is-open>.dir-expand{opacity:1;clip-path:inset(0 -200px 0%);max-height:800px}@media (width<=1024px){.card-tilt,.card-overlay{width:clamp(300px,68vw,500px)}.card-wrapper{height:clamp(440px,68vh,620px)}.card-wrapper--inline{--card-w:clamp(240px, 52vw, 360px);height:clamp(320px,46vh,420px)}}@media (width<=768px){.card-wrapper{height:clamp(400px,65vh,560px)}.card-tilt,.card-overlay{width:clamp(280px,88vw,460px)}.card-wrapper--inline{--card-w:clamp(220px, 72vw, 340px);height:clamp(280px,52vh,380px)}}.lightbox{color:var(--text);background:0 0;border:0;margin:0;padding:0;display:none}.lightbox[open]{cursor:pointer;place-items:center;width:100vw;max-width:100vw;height:100vh;max-height:100vh;display:grid;overflow:hidden}.lightbox::backdrop{background:#000000d9}.lightbox img{object-fit:contain;border:1px solid var(--border-accent);pointer-events:none;border-radius:50%;max-width:min(80vw,500px);max-height:65vh;box-shadow:0 8px 24px #00000059}:root{--bg:#0a0a0a;--text:#e8e8e8;--text-dim:#999;--accent:#4a6741;--accent-light:#6a9a5c;--border:#2a2a2a;--border-accent:#3a5332;--accent-hover:#7aad6e;--error:#c44;--bg-elev1:#111;--bg-elev2:#1a1a1a;--font-mono:"IBM Plex Mono", "SFMono-Regular", "Menlo", "Monaco", "Consolas", monospace;--font-jp:"Hiragino Sans", "Hiragino Kaku Gothic ProN", "Yu Gothic", "Meiryo", sans-serif;--header-h:80px;--content-h:calc(100dvh - var(--header-h));--scroll-h:calc(100svh - var(--header-h));--section-gap:clamp(6rem, 12dvh, 10rem);--gutter:clamp(1.5rem, 4vw, 3rem);--radius-sm:2px;--radius-md:4px}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--font-jp);color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.6}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.loader{z-index:999;background:var(--bg);justify-content:center;align-items:center;transition:opacity .5s,visibility .5s;display:flex;position:fixed;inset:0}.loader.is-hidden{opacity:0;visibility:hidden;pointer-events:none}.loader-text{font-family:var(--font-mono);color:var(--accent-light);letter-spacing:.05em;font-size:1.1rem}.loader-dots:after{content:"";animation:1.2s steps(4,end) infinite dots}@keyframes dots{0%{content:""}25%{content:"."}50%{content:".."}75%{content:"..."}to{content:""}}.header{z-index:100;padding:1.25rem var(--gutter);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--border);background:#0a0a0acc;justify-content:space-between;align-items:center;display:flex;position:fixed;top:0;left:0;right:0}.header-path{color:var(--accent-light);font-family:var(--font-mono);letter-spacing:.04em;white-space:nowrap;font-size:.78rem;text-decoration:none;transition:color .2s}.header-path:before{content:"> ";color:var(--border-accent)}.header-path:hover,.header-path:focus-visible{color:var(--accent-hover)}.header-nav{gap:2rem;display:flex}.header-nav a{font-family:var(--font-mono);color:var(--text-dim);font-size:.85rem;text-decoration:none;transition:color .3s;position:relative}.header-nav a:hover{color:var(--accent-light)}.header-nav a.is-active{color:var(--text)}.header-nav a.is-active:before{content:"[";color:var(--accent-light);position:absolute;right:100%}.header-nav a.is-active:after{content:"]";color:var(--accent-light);position:absolute;left:100%}@media (width<=768px){.header{padding:.85rem 1rem}.header-nav{gap:1rem}.header-nav a{font-size:.75rem}.header-path{text-overflow:ellipsis;max-width:46vw;font-size:.68rem;overflow:hidden}}@media (width<=480px){.header-nav{gap:.55rem}.header-nav a{font-size:.64rem}}.hero{min-height:100dvh;padding:var(--gutter);flex-direction:column;justify-content:center;align-items:center;padding-top:5rem;padding-bottom:5rem;display:flex}.hero-inner{text-align:center}.hero-logo{margin-bottom:2rem}.hero-logo-img{opacity:.75;max-width:clamp(240px,40vw,400px);height:auto}.hero-logo-fallback{font-family:var(--font-jp);letter-spacing:.08em;font-size:clamp(3.5rem,8vw,6rem);font-weight:600;line-height:1.2;display:none}.hero-tagline{font-family:var(--font-mono);color:var(--text);letter-spacing:.12em;opacity:.9;margin-bottom:.75rem;font-size:clamp(.9rem,1.6vw,1.1rem)}.hero-sub{font-family:var(--font-mono);color:var(--text-dim);letter-spacing:.1em;margin-bottom:.5rem;font-size:15px}.hero-sub:last-of-type{margin-bottom:1.5rem}.hero-sub a{color:var(--text-dim);text-decoration:none;transition:color .3s}.hero-sub a:hover{color:var(--accent-light)}.hero-sns{justify-content:center;gap:1.5rem;display:flex}.hero-sns a{color:var(--text-dim);justify-content:center;align-items:center;width:28px;height:28px;transition:color .3s;display:flex}.hero-sns a svg{width:100%;height:100%}.hero-sns a[aria-label=Instagram] svg,.hero-sns a[aria-label=X] svg{width:90%;height:90%}.hero-sns a:hover{color:var(--accent-light)}.sns-icon-mask{width:100%;height:100%;-webkit-mask-image:var(--icon-url);mask-image:var(--icon-url);background-color:currentColor;display:block;mask-position:50%;mask-size:contain;mask-repeat:no-repeat}@media (width<=768px){.hero-logo-fallback{font-size:2.8rem}}.dir-section{padding:var(--section-gap) clamp(1.5rem, 4vw, 4rem);justify-content:center;display:flex}.dir-section-inner{width:100%;max-width:860px}.cli-line{font-family:var(--font-mono);letter-spacing:.02em;margin-bottom:2.5rem;font-size:clamp(1.3rem,2.5vw,1.8rem);font-weight:400}.worktree-ref{color:var(--text-dim);font-family:var(--font-mono);letter-spacing:.06em;margin-left:1ch;font-size:.72em}.cli-toggle{font:inherit;letter-spacing:inherit;color:inherit;cursor:pointer;text-align:left;background:0 0;border:0;padding:0;transition:color .2s}.cli-toggle:hover .cli-path{text-underline-offset:4px;text-decoration:underline;text-decoration-color:var(--border-accent)}.cli-toggle:focus-visible{outline:1px solid var(--accent-light);outline-offset:4px;border-radius:var(--radius-sm)}.cli-prompt{color:var(--accent-light)}.cli-cmd{color:var(--text)}.cli-path{color:var(--text-dim)}.cli-path a{color:var(--text-dim);text-decoration:underline;text-decoration-color:var(--border-accent);text-underline-offset:4px;transition:text-decoration-color .2s}.cli-path a:hover{text-decoration-color:var(--accent-light)}.dir-tree{padding-left:.5rem}.dir-entry{margin-bottom:1rem}.dir-branch{color:var(--border-accent);user-select:none}.dir-pipe{color:var(--border-accent);user-select:none;flex-shrink:0;margin-right:.5ch}.dir-name{font-family:var(--font-mono);color:var(--accent-light);cursor:default;font-weight:500}.status-tag{font-family:var(--font-mono);color:var(--bg);background:var(--accent-light);border-radius:var(--radius-sm);vertical-align:middle;margin-left:.75ch;padding:.1em .5em;font-size:.75em;font-weight:600}.category-tag{font-family:var(--font-mono);color:var(--text);border:1px solid var(--border);border-radius:var(--radius-sm);vertical-align:middle;background:0 0;margin-left:0;padding:.1em .5em;font-size:.75em;font-weight:600}.genre-more{color:var(--accent-light);text-decoration-color:var(--border-accent)}.dir-tree .dir-entry--genre.is-open>.dir-expand{max-height:6000px}.genre-work+.genre-work{border-top:1px solid var(--border);margin-top:.5rem;padding-top:.75rem}.genre-blurb{font-family:var(--font-jp);color:var(--text-dim);margin:-1rem 0 2rem;font-size:clamp(.82rem,1.2vw,.95rem);line-height:1.9}.genre-heading{font-family:var(--font-mono);color:var(--accent-light);font-weight:600}.dir-entry-toggle{font:inherit;letter-spacing:inherit;color:inherit;cursor:pointer;text-align:left;background:0 0;border:0;padding:0;transition:color .2s;display:inline}.dir-entry-toggle:hover .dir-name{color:var(--accent-hover)}.dir-entry-toggle:focus-visible{outline:1px solid var(--accent-light);outline-offset:2px;border-radius:var(--radius-sm)}.dir-entry[data-toggle] .dir-entry-toggle .dir-name:before{content:"[+] ";color:var(--text-dim);font-size:.8em;font-weight:300}.dir-entry[data-toggle].is-open .dir-entry-toggle .dir-name:before{content:"[-] ";color:var(--accent-light)}.dir-expand{opacity:0;max-height:0;padding-left:2.5ch;transition:max-height .35s cubic-bezier(.4,0,.2,1),opacity .25s;overflow:hidden}.dir-entry.is-open>.dir-expand{opacity:1;max-height:600px;margin-top:.5rem}.dir-entry--philosophy.is-open>.dir-expand{margin-top:1rem}.dir-file{font-family:var(--font-jp);color:var(--text-dim);align-items:baseline;padding:.35rem 0;font-size:clamp(.78rem,1.1vw,.88rem);line-height:2;display:flex}.file-label{font-family:var(--font-mono);text-align:right;width:9ch;color:var(--text-dim);flex-shrink:0;margin-right:.75ch;display:inline-block}.file-value{word-break:keep-all;overflow-wrap:anywhere;flex:1;min-width:0}.budoux{word-break:keep-all;overflow-wrap:anywhere}.file-value a{color:inherit;text-underline-offset:3px;text-decoration:underline;text-decoration-color:var(--border-accent);transition:color .2s,text-decoration-color .3s}.file-value a:hover{color:var(--accent-hover);text-decoration-color:var(--accent-light)}.file-supplement{font-family:var(--font-jp);color:var(--text-dim);opacity:.85;word-break:keep-all;overflow-wrap:anywhere;min-width:0;margin-left:1ch}.file-supplement:before{content:"— ";opacity:.6}.file-more{font-family:var(--font-mono);color:var(--text);text-underline-offset:3px;text-decoration:underline;text-decoration-color:var(--border-accent);margin-left:.75ch;font-size:clamp(.78rem,1.1vw,.88rem);transition:color .3s,text-decoration-color .3s}.file-more:hover{color:var(--text);text-decoration-color:var(--accent-light)}.dir-desc{color:var(--text);opacity:.8;line-height:2}.genre-comment{min-width:0;color:var(--accent-light);letter-spacing:.03em;word-break:keep-all;overflow-wrap:anywhere;flex:1;font-size:.92em;line-height:2}.genre-comment:before{content:"# ";font-family:var(--font-mono);color:var(--border-accent)}.tag{font-family:var(--font-mono);color:var(--accent-light);border:1px solid var(--border-accent);border-radius:var(--radius-sm);margin:.15rem .25rem .15rem 0;padding:.15rem .5rem;font-size:.7rem;display:inline-block}.profile-logo{opacity:.75;width:clamp(80px,12vw,120px);height:auto;margin:.5rem 0 .25rem}.cli-reveal{opacity:0;transition:opacity .4s,transform .4s;transform:translateY(6px)}.cli-reveal.is-visible{opacity:1;transform:translateY(0)}@media (width<=768px){.dir-section{padding-left:1rem;padding-right:1rem}.dir-tree{padding-left:0}.dir-expand{padding-left:1.5ch}.dir-pipe{display:none}.dir-file{padding:.2rem 0;font-size:.78rem;line-height:1.7}.dir-entry{margin-bottom:1.25rem}.tag{padding:.1rem .4rem;font-size:.65rem}}.work-detail{padding-top:calc(var(--section-gap) + 3rem)}.work-detail-url{font-family:var(--font-mono);flex-wrap:wrap;align-items:baseline;gap:.5em;margin-top:.75rem;font-size:clamp(.8rem,1.1vw,.9rem);display:flex}.work-detail-url a{overflow-wrap:anywhere;min-width:0;color:var(--accent-light);border-bottom:1px solid #0000;text-decoration:none;transition:border-color .2s}.work-detail-url a:hover{border-bottom-color:var(--accent-light)}.work-detail-thumbnails{margin:1.5rem 0}.work-detail-thumbnails img{border:1px solid var(--border);border-radius:var(--radius-md);max-width:100%;height:auto}.work-detail-thumbnails img[src*=toban-app]{border:none;border-radius:0}.work-notice{color:var(--text-dim);line-height:1.9}.work-detail-readme{border-top:1px solid var(--border);border-bottom:1px solid var(--border);margin:2.5rem 0}.work-detail-readme>summary{color:var(--text);font-family:var(--font-mono);cursor:pointer;align-items:baseline;gap:.6ch;padding:1rem .5rem;font-size:clamp(.82rem,1.15vw,.92rem);list-style:none;display:flex}.work-detail-readme>summary::-webkit-details-marker{display:none}.work-detail-readme>summary:hover .cli-path,.work-detail-readme>summary:focus-visible .cli-path{color:var(--text)}.work-detail-readme>summary:focus-visible{outline:1px solid var(--accent-light);outline-offset:4px}.details-state:before{content:"[+]";color:var(--text-dim)}.work-detail-readme[open] .details-state:before{content:"[-]";color:var(--accent-light)}.work-detail-readme .work-detail-body{margin:0 0 2rem .5rem}.work-detail-body{border-left:1px solid var(--border-accent);margin:2rem 0;padding-left:.5rem}.work-detail-body p{color:var(--text);opacity:.85;margin-bottom:1.25rem;font-size:clamp(.85rem,1.2vw,.95rem);line-height:2}.work-detail-body p:last-child{margin-bottom:0}.work-detail-body h2{color:var(--accent-light);font-family:var(--font-mono);margin:2rem 0 1rem;font-size:clamp(.9rem,1.3vw,1.05rem);font-weight:600}.work-detail-body h3{color:var(--text);font-family:var(--font-mono);margin:1.5rem 0 .75rem;font-size:clamp(.85rem,1.2vw,.95rem);font-weight:600}.work-detail-body table{border-collapse:collapse;width:100%;margin:1rem 0 1.5rem;font-size:clamp(.75rem,1vw,.85rem)}.work-detail-body th,.work-detail-body td{border:1px solid var(--border);text-align:left;color:var(--text);opacity:.85;padding:.5rem .75rem}.work-detail-body th{background:var(--bg-elev2);font-family:var(--font-mono);opacity:1;white-space:nowrap;font-weight:600}.work-detail-body pre{background:var(--bg-elev1);border:1px solid var(--border);border-radius:var(--radius-md);margin:1rem 0 1.5rem;padding:1rem;overflow-x:auto}.work-detail-body code{font-family:var(--font-mono);color:var(--text);opacity:.85;font-size:clamp(.75rem,1vw,.85rem)}.work-detail-body ul,.work-detail-body ol{color:var(--text);opacity:.85;margin:.75rem 0 1.25rem 1.25rem;font-size:clamp(.85rem,1.2vw,.95rem);line-height:2}.work-detail-body li{margin-bottom:.25rem}.work-detail-body a{color:var(--accent-light);border-bottom:1px solid #0000;text-decoration:none;transition:border-color .2s}.work-detail-body a:hover{border-bottom-color:var(--accent-light)}.work-back{margin-top:2rem}.log-index,.log-detail{padding-top:calc(var(--section-gap) + 3rem)}.log-lead{max-width:42rem;color:var(--text-dim);margin:-.75rem 0 2.5rem .5rem;font-size:clamp(.85rem,1.2vw,.95rem);line-height:1.9}.log-list .log-entry{margin-bottom:2rem}.log-entry-name{align-items:baseline;gap:.5ch;display:flex}.log-file-link{text-decoration:underline;text-decoration-color:var(--border-accent);text-underline-offset:4px;transition:color .2s,text-decoration-color .2s}.log-file-link:hover,.log-file-link:focus-visible{color:var(--accent-hover);text-decoration-color:var(--accent-light)}.log-entry-meta{padding-left:2.5ch}.log-summary{color:var(--text);opacity:.85;line-height:1.9}.log-more-row{margin-top:1.5rem}.log-meta{margin-bottom:3.5rem}.log-meta .file-value>a{color:var(--text)}.log-body{border-left:0;max-width:46rem;margin:0 auto;padding-left:0}.log-body>p:first-child{color:var(--text);opacity:1;font-size:clamp(1rem,1.5vw,1.1rem);line-height:2.05}.log-body p,.log-body li{font-size:clamp(.9rem,1.25vw,1rem);line-height:2.05}.log-body h2{border-top:1px solid var(--border);margin-top:4rem;padding-top:1rem}.log-body h2:before{content:"## ";color:var(--border-accent)}.log-body strong{color:var(--text)}.log-body a{text-decoration:underline;text-decoration-color:var(--border-accent);text-underline-offset:3px;border-bottom:0}.log-body a:hover,.log-body a:focus-visible{text-decoration-color:var(--accent-light);border-bottom:0}.log-body :not(pre)>code{background:var(--bg-elev2);border-radius:var(--radius-sm);opacity:1;padding:.12em .35em}.log-body pre span[style*=\#F97583]{color:#ff9da7!important}.log-body pre span[style*=\#6A737D]{color:#a9b1bb!important}.log-related{border-top:1px solid var(--border);max-width:46rem;margin:4rem auto 0;padding-top:2rem}.log-related-heading{margin-bottom:.25rem}.log-back{max-width:46rem;margin:3rem auto 0}@media (width<=600px){.log-list .file-label{width:8ch}.log-entry-meta{padding-left:1.5ch}.log-body h2{margin-top:3rem}.log-related .file-supplement{width:100%;margin:.25rem 0 0 2ch;display:block}}.footer{border-top:1px solid var(--border);padding:3rem var(--gutter)}.footer-inner{flex-direction:column;align-items:center;gap:1.25rem;display:flex}.footer-sns{gap:1.25rem;display:flex}.footer-sns a{color:var(--text-dim);justify-content:center;align-items:center;width:20px;height:20px;transition:color .3s;display:flex}.footer-sns a svg{width:100%;height:100%}.footer-sns a[aria-label=Instagram] svg,.footer-sns a[aria-label=X] svg{width:90%;height:90%}.footer-sns a:hover{color:var(--accent-light)}.footer-copy{font-family:var(--font-mono);color:var(--text-dim);letter-spacing:.08em;text-align:center;font-size:.75rem}@media (width<=600px){.footer-copy{flex-direction:column;align-items:center;gap:.35rem;display:flex}.footer-copy-sep{display:none}}.footer-link{color:var(--text-dim);text-decoration:none;transition:color .3s}.footer-link:hover{color:var(--accent-light)}@media (prefers-reduced-motion:reduce){.cli-reveal{opacity:1;transition:none;transform:none}.dir-expand{transition:none}}.astro-route-announcer{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;top:0;left:0;overflow:hidden}
