.homepage-wrapper{position:relative;min-height:100vh}.homepage-container{position:relative;z-index:0;max-width:1100px;margin:0 auto;padding-left:max(clamp(12px,4vw,24px),env(safe-area-inset-left,0px));padding-right:max(clamp(12px,4vw,24px),env(safe-area-inset-right,0px));padding-bottom:env(safe-area-inset-bottom,0);box-sizing:border-box;width:100%;text-align:left}.homepage-wrapper .category-section .section-title,.homepage-wrapper .latest-posts-section .section-title{color:var(--color-text-main)}.hero-section{padding:120px 40px;margin-bottom:60px;background-color:var(--color-primary);border-radius:12px;box-shadow:0 1px 0 var(--color-border);border:1px solid var(--color-border);transition:border-color .3s,box-shadow .3s;text-align:center;overflow:hidden}.hero-stroke-wrap{display:block;text-align:center;margin-bottom:25px;font-family:var(--font-family-cursive),var(--font-caveat),Caveat,cursive;font-weight:400}.hero-stroke-wrap.hero-subtitle{margin-bottom:30px}.hero-stroke-svg{display:block;width:100%;max-width:100%;height:auto;max-height:80px;overflow:visible}.hero-subtitle .hero-stroke-svg{max-height:56px}.hero-mask-stroke,.hero-stroke-char-group,.hero-stroke-fill{animation-fill-mode:backwards}@keyframes heroStrokeDrawLoop{0%{stroke-dashoffset:var(--hero-len,1000);stroke-opacity:0}18%{stroke-dashoffset:0;stroke-opacity:1}94%{stroke-dashoffset:0;stroke-opacity:1}to{stroke-dashoffset:var(--hero-len,1000);stroke-opacity:0}}@keyframes heroDotPressure{0%{stroke-width:0;stroke-opacity:0}20%{stroke-width:6px;stroke-opacity:.85}35%{stroke-width:6px;stroke-opacity:1}80%{stroke-width:6px;stroke-opacity:1}to{stroke-width:0;stroke-opacity:0}}@keyframes heroFillOpacityLoop{0%,94%{opacity:1}97%{opacity:.4}to{opacity:0}}.hero-title{font-family:var(--font-family-cursive)!important;font-size:2.75rem;font-weight:400;line-height:1.1;transition:color .3s;letter-spacing:.02em;white-space:nowrap;text-shadow:none}.hero-title,.hero-title .hero-stroke-svg{color:var(--color-logo)}.hero-path-write.hero-stroke-wrap{display:block}.hero-title.hero-path-write .hero-path-svg{color:var(--color-logo)}.hero-path-char{fill:none;stroke:currentColor;vector-effect:non-scaling-stroke}.hero-subtitle{font-family:var(--font-family-cursive)!important;font-size:2em;font-weight:400;line-height:1.7;text-shadow:none;white-space:nowrap}.hero-subtitle,.hero-subtitle .hero-stroke-svg{color:var(--color-text-sub)}.hero-search-wrap{max-width:520px;margin:24px auto 0}.hero-section .btn-primary{font-family:var(--font-family-cursive)!important;font-size:1.14rem;font-weight:500;display:inline-block;margin-top:28px;margin-bottom:0;opacity:0;animation:heroBtnIn .6s ease-out .75s forwards;transform-origin:center}.hero-section .btn-primary:hover{transform:translateY(0) scale(1.04)}@keyframes heroBtnIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.category-section .section-title,.latest-posts-section .section-title{font-family:var(--font-family-cursive)!important;font-size:1.8em;font-weight:400;color:var(--color-text-main);margin-bottom:30px;padding-bottom:10px;border-bottom:2px solid var(--color-border)}.latest-posts-section{margin-bottom:60px}.post-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,288px),1fr));grid-gap:clamp(20px,3.5vw,32px);align-items:stretch}.post-list,.post-list-popular{gap:clamp(20px,3.5vw,32px)}.post-card{display:flex;flex-direction:column;background-color:var(--color-primary);border:1px solid var(--color-border);border-radius:14px;box-shadow:0 4px 14px var(--color-shadow);transition:box-shadow .25s ease,border-color .25s ease,transform .25s ease;overflow:hidden;text-decoration:none;color:inherit;min-height:100%}.post-card--feed{padding:0;border-radius:4px;box-shadow:0 0 0 1px color-mix(in srgb,var(--color-border) 80%,transparent),0 2px 8px rgba(0,0,0,.04),0 8px 24px rgba(0,0,0,.04)}body.dark-mode .post-card--feed{box-shadow:0 0 0 1px color-mix(in srgb,var(--color-border) 90%,transparent),0 4px 14px rgba(0,0,0,.35)}.post-card:hover{box-shadow:0 12px 28px var(--color-shadow-strong);transform:translateY(-4px);border-color:var(--color-accent);text-decoration:none}.post-card--feed:hover{transform:translateY(-2px);box-shadow:0 0 0 1px color-mix(in srgb,var(--color-accent) 35%,var(--color-border)),0 6px 20px rgba(0,0,0,.07),0 12px 32px rgba(0,0,0,.06)}body.dark-mode .post-card--feed:hover{box-shadow:0 0 0 1px color-mix(in srgb,var(--color-accent) 40%,transparent),0 8px 28px rgba(0,0,0,.45)}.post-card__media{position:relative;width:100%;aspect-ratio:16/9;background:var(--color-secondary);overflow:hidden;flex-shrink:0}body.dark-mode .post-card__media{background:hsla(0,0%,100%,.06)}.post-card__media-el{width:100%;height:100%;object-fit:cover;display:block}.post-card__media-el--video{object-fit:cover}.post-card__media-scrim{position:absolute;inset:0;pointer-events:none;background:linear-gradient(0deg,rgba(0,0,0,.2) 0,transparent 45%)}.post-card__media--default{display:flex;align-items:center;justify-content:center;border-bottom:1px solid var(--color-border)}.post-card__media--default,body.dark-mode .post-card__media--default{background:var(--color-primary)}.post-card__default-title{font-family:var(--font-family-cursive),var(--font-caveat),Caveat,cursive;font-size:clamp(1.75rem,5vw,2.35rem);font-weight:400;color:var(--color-logo,var(--color-text-main));letter-spacing:.02em;-webkit-user-select:none;-moz-user-select:none;user-select:none}.post-card__body{display:flex;flex-direction:column;flex:1 1;padding:clamp(14px,3vw,16px);min-height:0}.post-card__title{font-size:clamp(1rem,2.9vw,1.0625rem);font-weight:600;line-height:1.4;letter-spacing:-.02em;color:var(--color-text-main);margin:0 0 8px;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.post-card__excerpt{flex:1 1;min-height:0;margin:0 0 12px}.post-card__excerpt-text{margin:0;padding:0;font-size:.9375rem;line-height:1.55;font-weight:400;letter-spacing:-.01em;color:var(--color-text-sub);overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;word-break:break-word}.post-meta{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;font-size:.8125rem;color:var(--color-text-sub);border-top:1px solid color-mix(in srgb,var(--color-border) 85%,transparent);padding-top:12px;margin-top:auto}@media (max-width:380px){.post-meta{flex-direction:column;align-items:stretch}}.category-section{margin-top:60px;padding:40px 0}.category-links{display:flex;flex-wrap:wrap;gap:15px}@media (max-width:600px){.hero-section{padding:80px 20px}.hero-title{font-size:3.5rem}.hero-subtitle{font-size:1.5rem}.post-list{grid-template-columns:1fr;gap:20px}.post-card__excerpt-text{font-size:.9375rem;-webkit-line-clamp:3}}