@import "https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500;700&family=Newsreader:opsz,wght@6..72,400;6..72,600&display=swap";:root{--bg-0:#f3efe6;--bg-1:#efe6d5;--ink:#22221c;--ink-soft:#5a584d;--line:#beb094;--card:#fffbf3e6;--accent:#1e6f5c;--accent-soft:#2f9f87;--glow:#1e6f5c33}*{box-sizing:border-box}html,body,#root{min-height:100%}body{color:var(--ink);background:radial-gradient(1200px 700px at 90% 2%, #1f6f5d26, transparent 60%), radial-gradient(1000px 500px at 10% 10%, #c2a25c29, transparent 45%), linear-gradient(180deg, var(--bg-0), var(--bg-1));margin:0;font-family:IBM Plex Mono,Consolas,monospace}p{text-align:justify;text-justify:inter-word;-webkit-hyphens:none;hyphens:none;overflow-wrap:break-word;word-break:normal}a{color:var(--accent);text-underline-offset:2px;text-decoration-thickness:1.5px}.shell{border:2px solid var(--line);background:var(--card);width:min(980px,100% - 2rem);margin:1.5rem auto;position:relative;overflow:hidden;box-shadow:inset 0 1px #fff,0 18px 50px #2422181f}.shell:before{content:"";pointer-events:none;background-image:repeating-linear-gradient(#2d2a2005,#2d2a2005 1px,#0000 1px 3px);position:absolute;inset:0}.topbar{border-bottom:1px solid var(--line);background:linear-gradient(90deg,#fdf8ee,#f0e4cf);justify-content:space-between;align-items:center;gap:1rem;padding:.8rem 1rem;display:flex}.logo{color:var(--ink);font-weight:700;text-decoration:none}.nav{align-items:center;gap:.6rem;display:flex}.nav a{border:1px solid #0000;padding:.25rem .45rem;text-decoration:none}.nav a.active{border-color:var(--line);background:#ffffffa6}.content{padding:1.1rem}.hero{border:1px solid var(--line);background:linear-gradient(160deg,#fffaf0,#f5ecd8);padding:1rem clamp(128px,19vw,206px) 1rem 1rem;animation:.4s rise;position:relative}.hero h1{margin:0;font-family:Newsreader,Georgia,serif;font-size:clamp(1.7rem,5vw,2.5rem);line-height:1}.hero p{color:var(--ink-soft);max-width:68ch;margin:.9rem 0}.hero-video-frame{border:2px solid var(--line);transform-origin:0;background:linear-gradient(165deg,#fff8ea,#efe4cd);outline:1px solid #fbf3df;width:clamp(100px,14vw,164px);margin:0;padding:.35rem;animation:4.2s ease-in-out infinite heroVideoDrift;position:absolute;top:1rem;right:1rem;box-shadow:0 10px 20px -12px #22221c8c,0 0 0 3px #1e6f5c21}.hero-video-frame video{border:1px dashed var(--accent-soft);filter:saturate(1.04)contrast(1.04);background:#000;width:100%;height:auto;display:block}.video-audio-toggle{border:1px solid var(--line);color:var(--ink);font:inherit;letter-spacing:.02em;cursor:pointer;background:#fffdf8eb;padding:.18rem .36rem;font-size:.68rem;transition:background-color .14s,transform .14s;position:absolute;top:.62rem;left:.62rem}.video-audio-toggle:hover{background:#f3f8f5;transform:translateY(-1px)}.video-audio-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.hero-grid{grid-template-columns:1.3fr 1fr;gap:1rem;margin-top:1rem;display:grid}.panel{border:1px solid var(--line);background:#fffdf8;padding:.9rem}.panel h2{margin:0 0 .4rem;font-size:1.05rem}.feed{gap:.7rem;margin-top:1rem;display:grid}.blog-controls{border:1px solid var(--line);background:#fffdf8;margin-top:1rem;padding:.85rem}.search-label{color:var(--ink-soft);margin-bottom:.35rem;font-size:.8rem;display:block}.search-input{border:1px solid var(--line);width:100%;color:var(--ink);font:inherit;background:#fff;padding:.42rem .52rem}.search-input:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.filter-tags{flex-wrap:wrap;gap:.45rem;margin-top:.65rem;display:flex}.filter-tag{border:1px solid var(--line);color:var(--ink);font:inherit;cursor:pointer;background:#f5f0e5;padding:.12rem .4rem;font-size:.78rem}.filter-tag.is-active{border-color:var(--accent);color:#1f5d4f;background:#eaf6f1}.post-card{border:1px dashed var(--line);background:#ffffffa6;padding:.8rem;transition:transform .15s,box-shadow .15s}.post-card-link{color:inherit;text-decoration:none;display:block}.post-card-link:hover .post-title,.post-card-link:focus-visible .post-title{text-decoration:underline}.post-card:hover{box-shadow:0 8px 18px -14px var(--accent-soft);transform:translateY(-2px)}.post-title{margin:0;font-size:1.1rem;line-height:1.25}.post-meta{color:var(--ink-soft);flex-wrap:wrap;gap:.6rem;margin:.4rem 0;font-size:.88rem;display:flex}.tags{flex-wrap:wrap;gap:.4rem;display:flex}.tag{border:1px solid var(--line);background:#f5f0e5;padding:.1rem .35rem;font-size:.78rem}.article{border:1px solid var(--line);background:#fffdf8;padding:1rem;animation:.35s rise}.resume-page{border:1px solid var(--line);background:linear-gradient(160deg,#fffaf0,#f5ecd8);padding:.95rem;animation:.35s rise}.resume-toolbar{justify-content:space-between;align-items:center;gap:.8rem;margin-bottom:.8rem;display:flex}.resume-toolbar h1{margin:0;font-family:Newsreader,Georgia,serif;font-size:clamp(1.55rem,4vw,2.1rem)}.resume-download{border:1px solid var(--line);color:var(--accent);background:#f3f8f5;padding:.35rem .55rem;text-decoration:none;transition:transform .15s,box-shadow .15s,background-color .15s;box-shadow:0 4px 12px -10px #1e6f5c8c}.resume-download:hover{background:#eaf6f1;transform:translateY(-1px);box-shadow:0 8px 18px -13px #1e6f5c9e}.resume-download:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.resume-viewer{border:2px solid var(--line);background:#fffdf8;outline:1px solid #fbf3df;box-shadow:inset 0 1px #fff}.resume-embed{background:#fff;border:0;width:100%;height:min(78vh,980px);display:block}.article h1,.article h2,.article h3{margin:1.1rem 0 .5rem;font-family:Newsreader,Georgia,serif}.article h1{margin-top:0;font-size:clamp(1.8rem,4vw,2.4rem)}.article p,.article li{color:#2f2d26;line-height:1.65}.article img{border:1px solid var(--line);background:#fff;max-width:100%;height:auto}.article pre,.article code{font-family:IBM Plex Mono,Consolas,monospace}.article pre{border:1px solid var(--line);background:#f7f2e6;padding:.8rem;overflow-x:auto}.article blockquote{border-left:3px solid var(--accent);background:#f3f8f5;margin:1rem 0;padding:.2rem .8rem}.related-posts{border-top:1px dashed var(--line);margin-top:1.2rem;padding-top:.95rem}.related-posts h2{margin:0 0 .6rem;font-size:1.25rem}.related-posts ul{gap:.4rem;margin:0;padding:0;list-style:none;display:grid}.related-posts li{border:1px dashed var(--line);background:#fdf8ee;justify-content:space-between;align-items:baseline;gap:.5rem;padding:.4rem .5rem;display:flex}.related-posts li span{color:var(--ink-soft);font-size:.78rem}.not-found-page{border:1px solid var(--line);background:linear-gradient(160deg,#fffaf0,#f5ecd8);padding:1.1rem;animation:.32s rise}.not-found-code{color:var(--accent-soft);letter-spacing:.14em;margin:0;font-size:.85rem}.not-found-page h1{margin:.2rem 0 .75rem;font-family:Newsreader,Georgia,serif;font-size:clamp(1.7rem,5vw,2.3rem)}.not-found-actions{flex-wrap:wrap;gap:.6rem;margin-top:1rem;display:flex}.not-found-actions a{border:1px solid var(--line);color:var(--accent);background:#f3f8f5;padding:.3rem .55rem;text-decoration:none}.not-found-actions a:hover{background:#eaf6f1}.empty{border:1px dashed var(--line);background:#fff;padding:.8rem}.footer{border-top:1px solid var(--line);color:var(--ink-soft);padding:.75rem 1rem 1rem;font-size:.82rem;line-height:1.5}.footer a{color:var(--accent)}.floating-chiru{border:2px solid var(--line);z-index:50;pointer-events:auto;transform-origin:100% 100%;background:linear-gradient(165deg,#fff8ea,#efe4cd);outline:1px solid #fbf3df;width:clamp(84px,12vw,140px);padding:.35rem;animation:4.2s ease-in-out infinite floatChiru;position:fixed;bottom:clamp(.7rem,2vw,1.2rem);right:clamp(.7rem,2vw,1.2rem);box-shadow:0 10px 20px -12px #22221c8c,0 0 0 3px #1e6f5c21}.floating-chiru-button{all:unset;cursor:pointer;display:block}.floating-chiru-button:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.floating-chiru img{border:1px dashed var(--accent-soft);filter:saturate(1.04)contrast(1.04);width:100%;height:auto;display:block}.floating-chiru.is-active .floating-chiru-button{animation:.62s cubic-bezier(.23,.96,.43,1.12) chiruWave}.chiru-message{border:1px solid var(--line);color:#2f2d26;opacity:0;transform-origin:100% 100%;pointer-events:none;background:linear-gradient(#fffaf0,#f6ecd8);width:min(280px,52vw);margin:0;padding:.55rem .7rem;font-size:.73rem;line-height:1.35;transition:opacity .22s,transform .22s;position:absolute;bottom:.3rem;right:calc(100% + .5rem);transform:translateY(8px)scale(.97);box-shadow:0 10px 18px -14px #22221c80}.chiru-message:after{content:"";border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:#f7eedb;width:10px;height:10px;position:absolute;bottom:9px;right:-7px;transform:rotate(-45deg)}.chiru-message.is-visible{opacity:1;animation:.32s chiruMessagePop;transform:translateY(0)scale(1)}@keyframes rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes floatChiru{0%,to{transform:translateY(0)rotate(-1.4deg)}50%{transform:translateY(-7px)rotate(1.2deg)}}@keyframes chiruWave{0%{transform:rotate(0)scale(1)}35%{transform:rotate(-7deg)scale(1.04)}70%{transform:rotate(6deg)scale(1.02)}to{transform:rotate(0)scale(1)}}@keyframes chiruMessagePop{0%{opacity:0;transform:translateY(9px)scale(.95)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes heroVideoDrift{0%,to{transform:translateY(0)rotate(-.6deg)}50%{transform:translateY(-5px)rotate(.45deg)}}@media (width<=800px){.shell{width:min(980px,100% - 1rem);margin:.75rem auto}.content{padding:.85rem}.hero-grid{grid-template-columns:1fr}.topbar{flex-flow:wrap;align-items:center;row-gap:.55rem}.logo{word-break:break-word;font-size:.94rem}.nav{flex-wrap:wrap;margin-left:auto}p{text-align:left;text-justify:auto}.hero{padding-right:clamp(104px,30vw,142px)}.post-meta .tags{flex-basis:100%}.related-posts li{flex-direction:column;align-items:flex-start}.floating-chiru{width:clamp(72px,20vw,96px);bottom:.5rem;right:.5rem}.hero-video-frame{width:clamp(82px,23vw,114px);top:.8rem;right:.8rem}.chiru-message{width:min(210px,62vw);font-size:.68rem;right:calc(100% + .35rem)}.resume-toolbar{flex-direction:column;align-items:flex-start}.resume-download{align-self:flex-end}.resume-embed{height:70vh}}@media (width<=640px){.shell{border-width:1px;box-shadow:0 8px 28px #2422181a}.topbar{padding:.65rem .75rem}.nav{gap:.35rem;width:100%;margin-left:0}.nav a{padding:.22rem .42rem;font-size:.82rem}.hero{padding:.8rem}.hero h1{line-height:1.1}.hero-video-frame{width:min(100%,330px);margin:.75rem auto 0;animation:none;position:relative;transform:none}.video-audio-toggle{top:.5rem;left:.5rem}.article,.resume-page,.not-found-page,.blog-controls,.panel{padding:.8rem}.article h1{font-size:clamp(1.45rem,8vw,1.95rem)}.article p,.article li{line-height:1.58}.article pre{padding:.65rem;font-size:.84rem}.floating-chiru{width:68px;padding:.25rem;bottom:.45rem;right:.45rem}.chiru-message{transform-origin:100% 100%;width:min(82vw,220px);bottom:calc(100% + .4rem);right:0}.chiru-message:after{bottom:-6px;right:11px;transform:rotate(45deg)}.footer{padding:.7rem .75rem .85rem;font-size:.78rem}}
