@layer components{.journal-header{padding:var(--s-xl) var(--s-md) var(--s-xl);max-width:1400px;margin:0 auto}.journal-title{font-family:var(--ff-heading);font-size:var(--f-hero);font-weight:700;text-transform:uppercase;line-height:.85;letter-spacing:-.02em;opacity:0;animation:sUp 1s var(--ease-out) .2s forwards}.journal-title .g{color:var(--c-green)}.journal-title .c{color:var(--c-cyan)}.journal-sub{font-family:var(--ff-serif);font-size:var(--f-body);color:var(--c-muted);font-style:italic;margin-top:var(--s-md);max-width:50ch;opacity:0;animation:sUp 1s var(--ease-out) .4s forwards}@keyframes sUp{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}.divider{max-width:1400px;margin:0 auto;padding:0 var(--s-md);height:1px;border-top:1px dashed var(--c-border)}.post-list{max-width:1400px;margin:0 auto;padding:0 var(--s-md)}.post-list-header{padding-bottom:var(--s-lg);display:flex;justify-content:space-between;align-items:center}.post-list-title{font-family:var(--ff-heading);font-size:var(--f-display);font-weight:700;text-transform:uppercase;line-height:1}.post-count{font-family:var(--ff-body);font-size:var(--f-micro);color:var(--c-muted);letter-spacing:.1em}.post-entry{display:grid;grid-template-columns:1fr;gap:var(--s-md);padding-bottom:var(--s-lg);opacity:0;transform:translateY(30px);transition:all .7s var(--ease-out);cursor:pointer}.post-entry.visible{opacity:1;transform:translateY(0)}.entry-img{aspect-ratio:16/10;overflow:hidden;background:var(--c-surface);position:relative;border:1px dashed transparent;transition:border-color var(--t-fast)}.post-entry:hover .entry-img{border-color:var(--c-green);border-style:solid}.entry-img img{width:100%;height:100%;object-fit:cover;transition:transform var(--t-slow)}.post-entry:hover .entry-img img{transform:scale(1.06)}.entry-index{position:absolute;bottom:var(--s-xs);right:var(--s-xs);font-family:var(--ff-heading);font-size:var(--f-display);font-weight:700;color:var(--c-bg);opacity:.12;line-height:1}.entry-body{display:flex;flex-direction:column;gap:var(--s-xs)}.entry-cat{font-family:var(--ff-body);font-size:var(--f-micro);color:var(--c-cyan-dim);letter-spacing:.15em;text-transform:uppercase}.entry-title{font-family:var(--ff-heading);font-size:var(--f-display);font-weight:700;text-transform:uppercase;line-height:1.05;transition:color var(--t-fast)}.post-entry:hover .entry-title{color:var(--c-green)}.entry-excerpt{font-family:var(--ff-serif);font-size:var(--f-small);color:var(--c-muted);font-style:italic;line-height:1.55;max-width:52ch}.entry-meta{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s-xs);font-family:var(--ff-body);font-size:var(--f-micro);color:var(--c-green);letter-spacing:.05em;margin-top:var(--s-2xs)}.entry-meta:before{content:"//";color:var(--c-cyan);margin-right:2px}.entry-meta:after{content:"";flex:1;height:1px;transition:background .4s;border-bottom:1px dashed var(--c-border)}.entry-meta .dot{width:3px;height:3px;background:var(--c-dim);border-radius:50%}.entry-action{display:none;flex-direction:column;align-items:center;gap:var(--s-xs);padding-right:var(--s-sm)}@media(min-width:700px){.entry-action{display:flex}}.entry-readtime{font-family:var(--ff-body);font-size:var(--f-micro);color:var(--c-dim);letter-spacing:.08em;writing-mode:vertical-rl;text-transform:uppercase}.entry-arrow{width:40px;height:40px;border:1px dashed var(--c-border);display:grid;place-items:center;color:var(--c-dim);transition:all var(--t-fast)}.entry-arrow svg{width:16px;height:16px}.post-entry:hover .entry-arrow{border-color:var(--c-green);border-style:solid;color:var(--c-green);transform:translate(4px)}.load-more-wrap{text-align:center;padding:var(--s-xl) 0}.load-more-btn{font-family:var(--ff-body);font-size:var(--f-small);letter-spacing:.15em;text-transform:uppercase;color:var(--c-muted);border:1px dashed var(--c-border);padding:12px 44px;transition:all var(--t-fast);position:relative;overflow:hidden}.load-more-btn:before{content:"";position:absolute;inset:0;background:var(--c-green);transform:scaleY(0);transform-origin:bottom;transition:transform .4s var(--ease-out);z-index:0}.load-more-btn span{position:relative;z-index:1}.load-more-btn:hover{border-color:var(--c-green);border-style:solid;color:var(--c-text)}.load-more-btn:hover:before{transform:scaleY(1)}}
