@charset "UTF-8";:root{--color-paper: #f4fffa;--color-mint: #2adca3;--color-mint-deep: #1bb48e;--color-ink: #06110d;--color-muted: #34443d;--color-line: rgba(20, 40, 30, .12);--color-card: rgba(255, 255, 255, .72);--space-xs: .4rem;--space-sm: .75rem;--space-md: 1rem;--space-lg: 1.5rem;--space-xl: 2rem;--baseline: 8px;--layout-max: 1000px;--layout-wide-max: 1200px;--layout-pad: clamp(16px, 4vw, 32px);--container-page: var(--layout-max);--container-list: var(--layout-wide-max);--section-gap: clamp(2rem, 5vw, 4rem);--card-gap: clamp(1rem, 2.2vw, 1.5rem);--grid-gap: clamp(var(--space-md), 2.4vw, var(--space-xl));--grid-min-card: 240px;--radius-sm: .35rem;--radius-md: .5rem;--radius-lg: .75rem;--radius-pill: 999px;--shadow-soft: 0 4px 14px rgba(10, 21, 16, .08)}html{overflow-y:scroll}*,*:before,*:after{box-sizing:border-box}body{font-family:Kiwi Maru,serif;width:100%;margin:0;background-color:var(--color-paper);padding:80px 20px 20px;border:none;overflow-x:hidden;color:var(--color-ink)}h1,h2{color:var(--color-ink);font-family:Kiwi Maru,serif}p{color:var(--color-ink);font-size:20px}ul{list-style-type:none;margin:0}a{background-color:transparent;text-decoration:none;color:inherit}img{max-width:100%;height:auto;border-radius:var(--radius-md);display:block}.journal-card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(var(--grid-min-card),1fr));gap:var(--grid-gap);margin:var(--space-lg) auto;max-width:var(--layout-max)}.journal-card{border:1px solid var(--color-line);border-radius:var(--radius-md);overflow:hidden;background:var(--color-card);transition:transform .3s ease,box-shadow .3s ease}.journal-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-soft)}.journal-card a{display:block;overflow:hidden}.journal-card img{width:100%;height:auto;display:block;border-radius:0;transition:transform .3s ease}.journal-card:hover img{transform:scale(1.05)}.journal-card-info{padding:1rem;display:-webkit-box;-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis;white-space:normal}.journal-card-info h4{margin:0 0 .5rem;font-size:1rem;color:var(--color-ink);word-break:break-word}@media screen and (max-width:600px){.journal-card-grid{grid-template-columns:1fr;gap:var(--grid-gap)}}.making-comparison-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--grid-gap);margin:var(--space-xl) auto;max-width:var(--layout-wide-max)}.comparison-item{text-align:center}.comparison-item a{display:block;margin-bottom:1rem}.comparison-item img{width:100%;height:auto;border-radius:var(--radius-md);box-shadow:var(--shadow-soft);transition:transform .3s ease,box-shadow .3s ease}.comparison-item img:hover{transform:translateY(-4px);box-shadow:0 8px 20px #00000026}.comparison-label{font-size:1.1rem;font-weight:700;color:var(--color-ink);margin:0}@media screen and (max-width:768px){.making-comparison-grid{grid-template-columns:1fr;gap:var(--grid-gap)}}.web_title{top:0%;left:auto;margin:25px auto;font-size:2.8rem;color:var(--color-ink);text-shadow:1px 1px 2px rgba(0,0,0,.45);max-width:var(--layout-wide-max);padding:0 var(--layout-pad)}.page_title{font-size:2.1rem;margin:1.5rem auto;padding:0 var(--layout-pad);color:var(--color-ink);text-shadow:1px 1px 2px rgba(0,0,0,.349);max-width:var(--layout-max)}.site-header{position:fixed;top:0;left:0;right:0;background-color:#2adca3f2;box-shadow:0 2px 10px #0000001a;z-index:999;width:100%}.header-container{display:flex;align-items:center;justify-content:center;padding:1rem;max-width:100%;margin:0 auto;box-sizing:border-box;position:relative;gap:3rem}.header-logo{display:flex;align-items:center;justify-content:center;gap:.5rem;transition:opacity .3s ease;order:2;flex:0 0 auto}.header-logo:hover{opacity:.8}.logo-icon{width:30px;height:30px;object-fit:contain}.site-title{font-size:1.8rem;font-weight:700;color:var(--color-ink);white-space:nowrap}.header-nav{display:flex}.header-nav-left{order:1;padding-right:0}.header-nav-right{order:3;padding-left:0}.nav-menu{display:flex;gap:1.5rem;list-style:none;margin:0;padding:0}.nav-item a{color:var(--color-ink);font-size:1rem;font-weight:400;padding:.25rem 0;transition:color .3s ease;border-bottom:2px solid transparent}.nav-item a:hover{color:var(--color-mint-deep)}.menu_toggle{position:relative;top:auto;left:auto;transform:none;width:48px;height:48px;border-radius:0;background-color:transparent;color:#0a1510;border:none;font-size:1.6rem;display:flex;align-items:center;justify-content:center;box-shadow:none;cursor:pointer;z-index:1000;transition:background-color .2s ease;flex-shrink:0;padding:0}.menu_toggle:active{background-color:#0a15101a;border-radius:50%}.sidebar{position:fixed;top:0;left:0;bottom:0;width:100%;max-width:280px;background-color:#2adca3;display:flex;justify-content:flex-start;box-shadow:2px 0 8px #00000026;transform:translate(-100%);transition:transform .35s cubic-bezier(.4,0,.2,1);z-index:999;padding-top:20px}.sidebar.show{transform:translate(0)}.sidebar.show:after{content:"";position:fixed;inset:70px 0 0;background-color:#0000004d;z-index:-1;animation:overlayFadeIn .35s cubic-bezier(.4,0,.2,1) forwards}@keyframes overlayFadeIn{0%{opacity:0}to{opacity:1}}.sidebar_content{position:relative;left:0;bottom:auto;width:100%;padding:80px 1.5rem 2rem;color:#f4fffa;user-select:none}.sidebar_menu{font-size:1.3rem;list-style:none;padding:0;margin:0}.menu_item{margin-top:.5rem;padding:.5rem 0}.menu_item a{color:#f4fffa;transition:color .2s ease,padding-left .2s ease;display:block;padding-left:1rem;padding-right:.5rem;font-weight:500}.menu_item a:hover{color:#0a1510;padding-left:1.5rem}.menu_item a.active{color:#0a1510;font-weight:700;padding-left:1.5rem}.gallery_item{display:flex;flex-direction:column;gap:20px;text-align:center}.gallery_gap{gap:20px;border-bottom:1px solid rgba(136,136,136,.3);border:3px solid #ccc;padding-top:20px}.work_title{font-size:1.4rem}.work_img{border:3px solid #8d8d8d;max-width:70%}.container{max-width:var(--container-page);width:100%;margin:0 auto;padding:0 var(--layout-pad);box-sizing:border-box}.container.wide-container{max-width:var(--container-list)}.social_links{display:flex;gap:1rem;padding:1rem}.social_links a{font-size:2rem;color:#333;transition:transform .2s ease}.social_links a:hover{transform:scale(1.2);color:#69fd95}.profile-card{display:grid;grid-template-columns:140px 1fr;gap:var(--space-lg);align-items:start;max-width:var(--layout-max);margin:10px auto 16px;padding:1.2rem;border-radius:.75rem;background:#fff9;box-shadow:0 4px 12px #00000014}.profile-avatar-wrap{width:140px;height:140px}.profile-avatar{width:140px;height:140px;border-radius:12px;object-fit:cover;border:3px solid #8d8d8d;background:#e6f7f1;max-width:none;aspect-ratio:1 / 1}.profile-content{display:flex;flex-direction:column;gap:.5rem}.profile-name{margin:0;font-size:1.6rem;color:#0a1510}.profile-bio{margin:.25rem 0 .5rem;color:#333}.profile-meta{display:grid;grid-template-columns:120px 1fr;gap:.25rem .75rem;align-items:center}.profile-meta .meta-row{display:contents}.profile-meta dt{color:#666;font-weight:700}.profile-meta dd{margin:0}.profile-tags{display:flex;flex-direction:column;gap:.5rem}.tag-group{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}.tag-label{font-weight:700;color:#0a1510}.tag-items{display:flex;flex-wrap:wrap;gap:.4rem}.tag{display:inline-block;padding:.15rem .55rem;border-radius:999px;background:#e6f7f1;color:#0a1510;border:1px solid #bfe7d9;font-size:.9rem}.profile-links .link-list{display:flex;gap:.75rem 1rem;flex-wrap:wrap;margin:0 auto 6px;padding:0 var(--layout-pad);list-style:none}.profile-links .link-list li{display:inline-flex;align-items:center}.profile-links .link-list .platform-icons{gap:.6rem}.profile-links .link-list .platform-icons a{font-size:1.4rem;color:#333}.profile-links .link-list .platform-icons a:hover{color:#1bb48e}.profile-links .link-list a{display:inline-block;padding:.35rem .8rem;border-radius:.5rem;background:#1bb48e;color:#f4fffa;transition:transform .15s ease,opacity .15s ease}.profile-links .link-list a:hover{transform:translateY(-1px);opacity:.9}.about-intro{margin:0 auto 16px;padding:0 var(--layout-pad)}.about-intro p{margin:.25rem 0}.about-social .social_links{justify-content:center}.works-preview{margin:0 auto 16px;padding:0 var(--layout-pad)}.works-preview .page_title{margin:1rem 0 .75rem;padding:0}.works-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(var(--grid-min-card),1fr));gap:var(--grid-gap)}.work-card{display:flex;flex-direction:column;gap:.35rem}.work-thumb{display:block;position:relative;aspect-ratio:1 / 1;overflow:hidden;border-radius:var(--radius-md)}.work-thumb img{width:100%;height:100%;object-fit:cover;max-width:none;border-radius:var(--radius-md)}.work-info{text-align:center;padding:.35rem .25rem 0;flex-grow:1;display:flex;flex-direction:column;gap:.2rem}.work_title{font-size:.95rem;font-weight:700;margin:0;color:var(--color-ink);line-height:1.4;min-height:2.66em;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.work_date{color:var(--color-muted);font-size:.8rem;margin:0;line-height:1.2}@media screen and (max-width:1024px){.works-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,var(--grid-min-card)),1fr));gap:var(--grid-gap)}}@media screen and (max-width:600px){.header-container{padding:.75rem;justify-content:center;gap:.5rem;align-items:center;min-height:81px}.menu_toggle{position:fixed!important;top:8px;left:8px;order:1;width:48px;height:48px;font-size:1.5rem;padding:0;margin:0;z-index:1001}.header-logo{order:2;flex:0;justify-content:center;gap:.5rem;margin:0 auto}.site-title{font-size:1.3rem;font-weight:500}.logo-icon{width:22px;height:22px}.header-nav-left,.header-nav-right{display:none}.works-grid{grid-template-columns:1fr}}@media screen and (max-width:600px){.profile-card{grid-template-columns:1fr;justify-items:center;text-align:center;margin:10px 15px 16px}.profile-meta{grid-template-columns:1fr}.profile-avatar-wrap,.profile-avatar{width:120px;height:120px}.profile-name{font-size:1.4rem}.about-intro{margin:0 15px 16px}.profile-links .link-list{margin:0 15px 6px;justify-content:center}}@media screen and (max-width:768px){.header-nav{display:none}.menu_toggle{display:flex!important}body{padding-top:68px;padding-left:16px;padding-right:16px}p{font-size:18px}.header-container{padding:1rem 1rem .5rem}}@media screen and (min-width:769px){.menu_toggle{display:none}.header-nav-left{padding-right:3rem}.header-nav-right{padding-left:3rem}.nav-menu{gap:2rem}.nav-item a{font-size:1.1rem}.site-title{font-size:2rem}}@media screen and (min-width:601px)and (max-width:1024px){.header-container{gap:.5rem}.menu_toggle{order:1;width:48px;height:48px}.logo-icon{width:26px;height:26px}.site-title{font-size:1.6rem}.web_title{margin:10px auto 30px;padding:0;max-width:100%;font-size:2.2rem}.sidebar{max-width:250px}.work_img{max-width:85%}.works-grid,.journal-card-grid{gap:var(--grid-gap)}.home-grid{gap:var(--grid-gap);margin:0}p{font-size:18px}.post-info{grid-template-columns:1fr}body{padding-top:72px;padding-left:18px;padding-right:18px}}@media screen and (min-width:768px)and (max-width:1024px){.header-container{justify-content:space-between;padding:1.2rem 1.5rem .75rem}.header-logo{order:1;flex:0 0 auto}.header-nav-left{order:2;display:flex!important;flex-grow:1;justify-content:flex-end;padding-right:1rem;padding-left:0}.header-nav-right{order:3;display:flex!important;padding-left:1rem;padding-right:0}.nav-menu{gap:1.2rem}.web_title{font-size:2.5rem;margin:15px auto 35px}.page_title{font-size:2.2rem;margin:1.8rem auto}.sidebar{max-width:280px}.sidebar_content{padding:80px 1.5rem 2rem}.sidebar_menu{font-size:1.15rem}.menu_item{margin-top:.3rem;padding:.3rem 0}.menu_item a{padding-left:.8rem}.menu_item a:hover,.menu_item a.active{padding-left:1.2rem}.container{max-width:100%}.home-intro{margin:2.5rem auto 1.75rem}.home-grid,.works-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,var(--grid-min-card)),1fr));gap:var(--grid-gap)}.profile-card{margin:10px auto 16px;grid-template-columns:160px 1fr;gap:1.5rem;padding:1.5rem}.profile-avatar,.profile-avatar-wrap{width:160px;height:160px}.about-intro,.works-preview{margin:0 auto 16px}.profile-links .link-list{margin:0 auto 6px}}@media screen and (max-width:600px){.web_title{margin:10px auto 25px;padding:0;max-width:100%;font-size:1.8rem}.menu_toggle{width:48px;height:48px;font-size:1.3rem;top:18px;left:18px}.sidebar{max-width:260px}.work_img{max-width:90%}body{padding-top:85px}}.post-info{margin-top:2rem;display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}.post-credits{padding:1.5rem;background-color:#1bb48e1a;border-left:4px solid #1bb48e;border-radius:.5rem}.post-credits h3{margin-top:0;color:#1bb48e;font-size:1.2rem}.post-credits p{margin:.5rem 0;color:#333;line-height:1.6}.post-credits pre{margin:.5rem 0;padding:.75rem;background-color:transparent;border:none;font-family:inherit;font-size:20px;line-height:1.6;color:#333;white-space:pre-wrap;word-wrap:break-word}.post-description{padding:1.5rem;background-color:#0a15100d;border-left:4px solid #0a1510;border-radius:.5rem}.post-description h3{margin-top:0;color:#0a1510;font-size:1.2rem}.post-description p{margin:.5rem 0;color:#333;line-height:1.6}.post-lyrics{margin-top:2rem;padding:1.5rem;background-color:#f9f9f9;border:1px solid #ddd;border-radius:.5rem}.post-lyrics details{cursor:pointer}.post-lyrics summary{font-size:1.2rem;font-weight:700;color:#0a1510;padding:.5rem;margin:-.5rem -.5rem 0;user-select:none;transition:background-color .2s ease}.post-lyrics summary:hover{background-color:#1bb48e1a;border-radius:.3rem}.post-lyrics summary::marker{color:#1bb48e}.post-lyrics pre{margin:1rem 0 0;padding:1rem;background-color:#fff;border:1px solid #e0e0e0;border-radius:.3rem;font-family:Courier New,monospace;font-size:.95rem;line-height:1.8;color:#333;overflow-x:auto;white-space:pre-wrap;word-wrap:break-word}@media screen and (max-width:600px){.post-info{grid-template-columns:1fr;gap:1rem}}.home-intro{text-align:left;margin:var(--section-gap) auto calc(var(--section-gap) * .65);max-width:760px;padding:var(--space-xl);border:1px solid var(--color-line);border-radius:var(--radius-lg);background:#ffffff80}.home-welcome{font-size:2rem;font-weight:700;color:#0a1510;margin-bottom:1rem}.home-intro p{font-size:1.2rem;margin:.5rem 0;max-width:36rem;line-height:1.8}.home-latest{margin:var(--section-gap) auto}.home-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--card-gap);margin-top:var(--space-xl)}.home-card{background:#fffc;border:1px solid var(--color-line);border-radius:var(--radius-lg);padding:var(--space-lg);box-shadow:var(--shadow-soft);transition:transform .3s ease,box-shadow .3s ease;display:flex;flex-direction:column;gap:.75rem}.home-card:hover{transform:translateY(-4px);box-shadow:0 6px 20px #0000001f}.home-card-link{cursor:pointer;text-decoration:none}.home-card-clickable{text-decoration:none;color:inherit;flex:1;display:flex;flex-direction:column;gap:.75rem}.home-card-thumb{width:100%;aspect-ratio:16 / 10;overflow:hidden;border-radius:.5rem;background:#e6f7f1}.home-card-thumb img{width:100%;height:100%;object-fit:cover;max-width:none;border-radius:.5rem}.home-card-head{display:flex;justify-content:space-between;align-items:center;gap:var(--space-sm)}.home-card-label{display:inline-block;padding:.25rem .75rem;background:#1bb48e;color:#f4fffa;border-radius:999px;font-size:.85rem;font-weight:700}.home-card-date{color:#666;font-size:.85rem}.home-card-title{margin:0;font-size:1.3rem;color:#0a1510;line-height:1.4}.home-card-desc{color:#333;font-size:.95rem;line-height:1.6;flex:1;margin:0;display:-webkit-box;-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.home-card-cta{color:#1bb48e;font-weight:700;font-size:.95rem;text-decoration:none;position:relative;display:inline-block;transition:color .2s ease;align-self:flex-start}.home-card-cta:hover{color:#179a74}.home-card-cta:after{content:"";position:absolute;left:0;bottom:-.15em;width:100%;height:2px;background-color:#1bb48e;transform:scaleX(0);transform-origin:left center;transition:transform .24s cubic-bezier(.4,0,.2,1),background-color .2s ease}.home-card-cta:hover:after{transform:scaleX(1);background-color:#179a74}@media screen and (max-width:768px){.home-grid{grid-template-columns:1fr;gap:var(--card-gap);margin:0}.home-card{padding:1.2rem;gap:.5rem}}@media screen and (max-width:600px){.home-intro{margin-left:0;padding:var(--space-lg)}}.post p a,.post li a,.post h1 a,.post h2 a,.post h3 a,.post h4 a,.post blockquote a,main.container p a,main.container li a,main.container h1 a,main.container h2 a,main.container h3 a,main.container h4 a,main.container blockquote a{color:#1bb48e;text-decoration:none;position:relative;display:inline-block;transition:color .2s ease}.post p a:hover,.post li a:hover,.post h1 a:hover,.post h2 a:hover,.post h3 a:hover,.post h4 a:hover,.post blockquote a:hover,main.container p a:hover,main.container li a:hover,main.container h1 a:hover,main.container h2 a:hover,main.container h3 a:hover,main.container h4 a:hover,main.container blockquote a:hover{color:#179a74}.post p a:after,.post li a:after,.post h1 a:after,.post h2 a:after,.post h3 a:after,.post h4 a:after,.post blockquote a:after,main.container p a:after,main.container li a:after,main.container h1 a:after,main.container h2 a:after,main.container h3 a:after,main.container h4 a:after,main.container blockquote a:after{content:"";position:absolute;left:0;bottom:-.15em;width:100%;height:2px;background-color:#1bb48e;transform:scaleX(0);transform-origin:left center;transition:transform .24s cubic-bezier(.4,0,.2,1),background-color .2s ease}.post p a:hover:after,.post li a:hover:after,.post h1 a:hover:after,.post h2 a:hover:after,.post h3 a:hover:after,.post h4 a:hover:after,.post blockquote a:hover:after,main.container p a:hover:after,main.container li a:hover:after,main.container h1 a:hover:after,main.container h2 a:hover:after,main.container h3 a:hover:after,main.container h4 a:hover:after,main.container blockquote a:hover:after{transform:scaleX(1);background-color:#179a74}.post ul,main.container ul{list-style-type:disc;list-style-position:outside;padding-left:1.5em;margin:1rem 0}.post ol,main.container ol{list-style-type:decimal;list-style-position:outside;padding-left:1.5em;margin:1rem 0}.post li,main.container li{color:#0a1510;margin:.5rem 0}.post ul li::marker,main.container ul li::marker{color:#1bb48e;font-size:1.1em}.post ol li::marker,main.container ol li::marker{color:#1db88a;font-weight:700}.post ul ul,.post ol ul,main.container ul ul,main.container ol ul{list-style-type:circle;margin-top:.25rem}.post ul ul li::marker,main.container ul ul li::marker{color:#2adca3}.post code,.post p code,.post li code,main.container code,main.container p code,main.container li code{background-color:#f5f5f5;border:1px solid #e0e0e0;border-radius:4px;padding:.2rem .4rem;font-family:Courier New,Courier,monospace;font-size:.9em;color:#c7254e;word-break:break-word}.post pre,main.container pre{background-color:#282c34;border:1px solid #3a3f47;border-radius:6px;padding:1rem;margin:1.5rem 0;overflow-x:auto;line-height:1.6;font-family:Courier New,Courier,monospace;font-size:.95rem;position:relative}.post pre[class*=language-]:before,main.container pre[class*=language-]:before{content:attr(class);content:attr(class) / "";display:block;position:absolute;top:.5rem;left:.5rem;padding:.25rem .75rem;background-color:#ffffff1a;color:#abb2bf;border-radius:4px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;pointer-events:none}.post pre.language-cpp:before,main.container pre.language-cpp:before{content:"C++"}.post pre.language-c:before,main.container pre.language-c:before{content:"C"}.post pre.language-javascript:before,main.container pre.language-javascript:before{content:"JavaScript"}.post pre.language-js:before,main.container pre.language-js:before{content:"JavaScript"}.post pre.language-python:before,main.container pre.language-python:before{content:"Python"}.post pre.language-python3:before,main.container pre.language-python3:before{content:"Python"}.post pre.language-java:before,main.container pre.language-java:before{content:"Java"}.post pre.language-html:before,main.container pre.language-html:before{content:"HTML"}.post pre.language-css:before,main.container pre.language-css:before{content:"CSS"}.post pre.language-scss:before,main.container pre.language-scss:before{content:"SCSS"}.post pre.language-sql:before,main.container pre.language-sql:before{content:"SQL"}.post pre.language-bash:before,main.container pre.language-bash:before{content:"Bash"}.post pre.language-shell:before,main.container pre.language-shell:before{content:"Shell"}.post pre.language-json:before,main.container pre.language-json:before{content:"JSON"}.post pre.language-yaml:before,main.container pre.language-yaml:before{content:"YAML"}.post pre.language-xml:before,main.container pre.language-xml:before{content:"XML"}.post pre.language-markdown:before,main.container pre.language-markdown:before{content:"Markdown"}.post pre.language-md:before,main.container pre.language-md:before{content:"Markdown"}.post pre.language-plaintext:before,main.container pre.language-plaintext:before{content:"Text"}.post pre.language-text:before,main.container pre.language-text:before{content:"Text"}.post pre .copy-button,main.container pre .copy-button{position:absolute;top:.5rem;right:.5rem;padding:.4rem .8rem;background-color:#1bb48ecc;color:#fff;border:none;border-radius:4px;font-size:.75rem;font-weight:600;cursor:pointer;transition:all .3s ease;z-index:10;min-width:80px}.post pre .copy-button:after,main.container pre .copy-button:after{content:"Copy"}.post pre .copy-button:hover,main.container pre .copy-button:hover{background-color:#1bb48e;transform:translateY(-1px)}.post pre .copy-button.copied,main.container pre .copy-button.copied{background-color:#98c379e6}.post pre .copy-button.copied:after,main.container pre .copy-button.copied:after{content:"✓ Copied"}.post pre code,main.container pre code{background-color:transparent;border:none;border-radius:0;padding:0;color:#abb2bf;font-size:.95rem}.post pre code .hljs-string,main.container pre code .hljs-string{color:#98c379}.post pre code .hljs-number,main.container pre code .hljs-number{color:#d19a66}.post pre code .hljs-literal,main.container pre code .hljs-literal{color:#56b6c2}.post pre code .hljs-attr,main.container pre code .hljs-attr{color:#e06c75}.post pre code .hljs-keyword,main.container pre code .hljs-keyword{color:#c678dd}.post pre code .hljs-function,main.container pre code .hljs-function{color:#61afef}.post pre code .hljs-type,main.container pre code .hljs-type{color:#56b6c2}.post pre code .hljs-comment,main.container pre code .hljs-comment{color:#5c6370}.post pre::-webkit-scrollbar,main.container pre::-webkit-scrollbar{height:8px}.post pre::-webkit-scrollbar-track,main.container pre::-webkit-scrollbar-track{background:#1e2228;border-radius:4px}.post pre::-webkit-scrollbar-thumb,main.container pre::-webkit-scrollbar-thumb{background:#555;border-radius:4px}.post pre::-webkit-scrollbar-thumb:hover,main.container pre::-webkit-scrollbar-thumb:hover{background:#777}.gallery-link-btn{display:block;width:fit-content;margin:.8rem auto 1.5rem;padding:.6rem 1.2rem;background:linear-gradient(135deg,#2adca3,#1db88a);color:#fff;text-align:center;border-radius:8px;font-size:.9rem;font-weight:500;text-decoration:none;box-shadow:0 2px 8px #2adca34d;transition:all .3s ease}.gallery-link-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #2adca380;background:linear-gradient(135deg,#1db88a,#179a74)}.article-links-horizontal{display:flex;gap:.5rem;margin-top:1rem;flex-wrap:wrap}.article-links-horizontal .article-link-btn{display:inline-block;width:auto;text-align:center;padding:.5rem .8rem;background:#007acc;color:#fff;border-radius:6px;text-decoration:none;font-size:.85rem;white-space:nowrap;transition:background .3s ease}.article-links-horizontal .article-link-btn:hover{background:#005a9e}.article-links-horizontal .article-link-btn.making-link{background:#28a745}.article-links-horizontal .article-link-btn.making-link:hover{background:#218838}.post-related{margin:3rem 0 2rem;padding:2rem;background:#f9f9f9;border-radius:12px;border-left:4px solid #667eea}.post-related h2{margin-top:0;margin-bottom:1.5rem;color:#333;font-size:1.8rem}.post-related h3{margin:1.5rem 0 1rem;color:#555;font-size:1.3rem}.post-related-articles{margin:3rem 0 2rem;padding:2rem;background:#f9f9f9;border-radius:12px;border-left:4px solid #667eea}.post-related-articles h2{margin-top:0;margin-bottom:1.5rem;color:#333;font-size:1.8rem}.post-related-articles ul{list-style:none;padding:0;margin:0}.post-related-articles li{margin:.75rem 0}.post-related-articles a{color:#1f8b6d;text-decoration:none;transition:color .2s ease}.post-related-articles a:hover{color:#0d5a48;text-decoration:underline}.featured-works,.auto-related-works{margin-bottom:2rem}.related-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:1.5rem;margin-top:1rem}.related-item{display:block;text-decoration:none;color:inherit;background:#fff;border-radius:8px;overflow:hidden;box-shadow:0 2px 8px #0000001a;transition:transform .3s ease,box-shadow .3s ease}.related-item:hover{transform:translateY(-4px);box-shadow:0 4px 16px #00000026}.related-item img{width:100%;height:150px;object-fit:cover;display:block}.related-item p{padding:.8rem;margin:0;font-size:.85rem;font-weight:500;text-align:center;color:#333}.no-related-text{text-align:center;color:#888;font-size:.95rem;padding:2rem 1rem;margin:0;font-style:italic}@media screen and (max-width:768px){.related-grid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:1rem}.post-related{padding:1.5rem}.post-related h2{font-size:1.5rem}.post-related h3{font-size:1.1rem}}@media screen and (max-width:480px){.related-grid{grid-template-columns:repeat(2,1fr)}.article-links-horizontal{flex-direction:row;justify-content:flex-start}.article-links-horizontal .article-link-btn{width:auto;flex-shrink:0}}.works-intro{max-width:var(--layout-max);margin:0 auto var(--space-xl);padding:0 var(--layout-pad)}.works-grid-list{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:var(--card-gap);max-width:var(--container-list);margin:0 auto;align-items:stretch}.work-card-unified{min-height:100%;overflow:hidden;gap:0;border:1px solid var(--color-line);border-radius:var(--radius-lg);background:var(--color-card);box-shadow:var(--shadow-soft);transition:transform .2s ease,box-shadow .2s ease}.work-card-unified:hover{transform:translateY(-3px);box-shadow:0 8px 22px #0a15101f}.work-card-unified .work-thumb{aspect-ratio:16 / 10;border-radius:var(--radius-lg) var(--radius-lg) 0 0}.work-card-unified .work-thumb img{border-radius:0}.work-copy{display:flex;flex:1;flex-direction:column;gap:var(--space-xs);padding:var(--space-md);min-height:13.5rem}.work-title{margin:0;color:var(--color-ink);font-size:1.15rem;line-height:1.4;min-height:3.2em;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.work-title a:hover{color:var(--color-mint-deep)}.work-date{color:var(--color-muted);font-size:.9rem}.work-desc{margin:.25rem 0;color:var(--color-muted);font-size:.95rem;line-height:1.6;display:-webkit-box;-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.work-tags{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:auto}.work-tag{display:inline-flex;align-items:center;width:fit-content;padding:.18rem .6rem;border:1px solid #bfe7d9;border-radius:var(--radius-pill);background:#e6f7f1;color:var(--color-ink);font-size:.82rem;font-weight:700}.profile-section-title{margin-top:var(--space-md)}.works-preview-link{margin:var(--space-md) 0 0;text-align:center}.project-intro{max-width:var(--layout-max);margin:0 auto var(--space-xl);padding:var(--space-lg);border:1px solid var(--color-line);border-radius:var(--radius-lg);background:#ffffff8c}.project-intro p{max-width:42rem;margin:0;line-height:1.8}.project-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:var(--card-gap);max-width:var(--container-list);margin:0 auto;align-items:stretch}.project-card{display:flex;flex-direction:column;overflow:hidden;border:1px solid rgba(20,40,30,.1);border-radius:.75rem;background:#ffffffb8;box-shadow:0 4px 14px #0a151014;transition:transform .2s ease,box-shadow .2s ease}.project-card:hover{transform:translateY(-3px);box-shadow:0 8px 22px #0a15101f}.project-card-visual,.project-hero{display:flex;align-items:center;justify-content:center;overflow:hidden;background:#e6f7f1}.project-card-visual{aspect-ratio:16 / 9;border-radius:0}.project-card-visual img,.project-hero img{width:100%;height:100%;max-width:none;object-fit:cover;border-radius:0}.project-card-visual-fallback,.project-hero-fallback{min-height:220px;color:#0a1510;font-size:1.6rem;font-weight:700;text-align:center;background:linear-gradient(135deg,#2adca34d,#fffc),repeating-linear-gradient(0deg,rgba(10,21,16,.08) 0 1px,transparent 1px 24px),repeating-linear-gradient(90deg,rgba(10,21,16,.08) 0 1px,transparent 1px 24px)}.project-card-copy{display:flex;flex:1;flex-direction:column;gap:.55rem;padding:1.25rem;min-height:18rem}.project-kicker{margin:0;color:#34443d;font-size:.9rem;letter-spacing:0}.project-card-title{margin:0;color:#06110d;font-size:1.35rem;line-height:1.35;min-height:2.7em;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.project-card-title a:hover,.project-back-link:hover,.project-detail-link:hover{color:#1bb48e}.project-date{color:#34443d;font-size:.92rem}.project-description,.project-lead{margin:0;color:#34443d;font-size:1rem;line-height:1.7}.project-description{display:-webkit-box;-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.project-tags{display:flex;flex-wrap:wrap;gap:.45rem}.project-tag{display:inline-flex;align-items:center;padding:.2rem .65rem;border:1px solid #bfe7d9;border-radius:999px;background:#e6f7f1;color:#0a1510;font-size:.85rem}.project-detail-link{margin-top:auto;color:#0a1510;font-weight:700}.project-detail{max-width:var(--layout-max);margin:0 auto}.project-back-link{display:inline-block;margin-bottom:1rem;color:#34443d}.project-detail-header{margin-bottom:1.5rem}.project-detail-header .web_title{margin:.25rem 0 .5rem;padding:0}.project-hero{width:100%;aspect-ratio:16 / 9;margin:1.5rem 0 2rem;border:1px solid rgba(20,40,30,.1);border-radius:.75rem;box-shadow:0 4px 14px #0a151014}.project-section{margin:2rem 0}.project-section .page_title{margin:0 0 1rem;padding:0}.project-feature-list{display:grid;gap:.75rem;margin:0;padding:0}.project-feature-list li{padding:1rem;border-left:4px solid #1bb48e;border-radius:.5rem;background:#ffffffb8;color:#34443d;line-height:1.7}.project-actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1rem}.project-action{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:.65rem 1rem;border:1px solid #1bb48e;border-radius:.5rem;color:#0a1510;font-weight:700;transition:transform .15s ease,opacity .15s ease}.project-action-primary{background:#1bb48e;color:#f4fffa}.project-action:hover{transform:translateY(-1px);opacity:.9}.info-section{max-width:var(--layout-max);margin:0 auto var(--space-xl);padding:var(--space-lg);border:1px solid var(--color-line);border-radius:var(--radius-lg);background:#ffffff8c}.info-section .page_title{margin:0 0 var(--space-md);padding:0}.info-section p{max-width:44rem;line-height:1.8}.info-link-list{display:grid;gap:var(--space-sm)}.info-link-item{display:grid;gap:.25rem;padding:var(--space-md) 0;border-bottom:1px solid var(--color-line)}.info-link-item:first-child{border-top:1px solid var(--color-line)}.info-link-item span{color:var(--color-ink);font-size:1.1rem;font-weight:700}.info-link-item span:after{content:" →";color:var(--color-mint-deep)}.info-link-item small{color:var(--color-muted);font-size:.95rem;line-height:1.6}.site-footer{max-width:var(--container-list);margin:var(--section-gap) auto 0;padding:var(--space-xl) var(--layout-pad) 0;border-top:1px solid var(--color-line);text-align:center}.site-footer p{margin:.35rem 0;color:var(--color-muted);font-size:.95rem}.site-footer-note{font-size:.9rem}.site-footer-legacy{margin-top:1rem;opacity:.3}.site-footer-legacy a{color:inherit;text-decoration:none}@media screen and (max-width:768px){.project-grid{grid-template-columns:1fr}.project-card-copy{padding:1rem}.project-hero{aspect-ratio:4 / 3}}
