/* WordPress-native journal. Post content stays editable with the block editor. */
.brand{display:inline-flex;align-items:center;flex-shrink:0}.brand-image{display:block;width:104px;height:64px;object-fit:contain;max-width:100%}@media(max-width:700px){.brand-image{width:88px;height:56px}}
.journal-main{padding-block:75px 100px;min-height:75vh}.journal-intro{max-width:780px;margin-bottom:38px}.journal-intro h1{font-size:clamp(38px,5vw,64px);letter-spacing:-2.5px;line-height:1.12;margin:22px 0}.journal-intro>p:last-child{color:var(--muted)}.journal-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.journal-card{min-width:0;overflow:hidden;border:1px solid var(--line);border-radius:18px;background:linear-gradient(140deg,#182231,#101724);box-shadow:0 12px 30px #0003;display:flex;flex-direction:column}.journal-cover{display:block;aspect-ratio:16/10;overflow:hidden;background:#121c2d}.journal-cover img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .3s}.journal-cover:hover img{transform:scale(1.035)}.cover-pattern{height:100%;display:grid;place-items:center;color:var(--cyan);background:radial-gradient(ellipse at 70% 30%,#aa9cff22,transparent 65%),repeating-linear-gradient(90deg,transparent 0 39px,#78f0dc0c 39px 40px),#121c2d}.cover-pattern span{font:20px Consolas,monospace;letter-spacing:1px;border:1px solid #78f0dc33;padding:18px 22px;border-radius:12px;transform:perspective(500px) rotateY(-12deg);box-shadow:12px 12px 30px #0004}.journal-card-body{padding:24px;display:flex;flex-direction:column;flex:1}.journal-meta{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:center;color:var(--muted);font-size:11px}.journal-card h3{font-size:22px;letter-spacing:-.6px;line-height:1.3;margin:14px 0 12px}.journal-card h3 a:hover{color:var(--cyan)}.journal-card-body>p{color:var(--muted);font-size:13px;margin:0 0 24px}.journal-read{color:var(--cyan);font-size:13px}.journal-card .journal-read{margin-top:auto}.journal-read:hover{text-decoration:underline}.journal-empty{border:1px dashed var(--line);border-radius:18px;padding:40px;color:var(--muted)}.journal-empty h2{color:var(--text);font-size:28px}.journal-search{margin:0 0 38px;max-width:600px}.journal-search label{display:block;font-size:12px;color:var(--muted);margin-bottom:8px}.journal-search>div{display:flex;gap:10px}.journal-search input[type=search]{min-width:0;flex:1;padding:13px 16px;background:#101724;border:1px solid var(--line);color:var(--text);border-radius:8px;font:inherit;font-size:14px}.journal-search input:focus-visible{outline:2px solid var(--cyan);outline-offset:3px}.pagination{margin-top:42px}.nav-links.page-numbers{display:flex}.pagination .nav-links{display:flex;flex-wrap:wrap;gap:10px;justify-content:center}.page-numbers{padding:8px 14px;border:1px solid var(--line);border-radius:7px;font-size:13px}.page-numbers.current{color:#09151a;background:var(--cyan)}.article-main{max-width:860px;padding-block:65px 100px;min-height:75vh}.journal-article>h1{font-size:clamp(34px,5vw,60px);letter-spacing:-2px;line-height:1.16;margin:20px 0}.article-meta{margin-top:35px}.article-meta a,.article-tags a{color:var(--cyan)}.article-byline{font-size:13px;color:var(--muted)}.article-cover{margin:35px 0}.article-cover img{width:100%;height:auto;border-radius:16px;display:block}.article-content{font-size:17px;line-height:1.85;color:#c5d1e5;margin-top:35px}.article-content>*{max-width:100%}.article-content h2,.article-content h3,.article-content h4{color:var(--text);letter-spacing:-.6px;line-height:1.35;margin-top:1.8em}.article-content h2{font-size:30px}.article-content h3{font-size:24px}.article-content a{text-decoration:underline;color:var(--cyan);text-underline-offset:3px}.article-content img,.article-content video{max-width:100%;height:auto}.article-content iframe{max-width:100%}.article-content figure{margin-inline:0}.article-content figcaption{font-size:12px;color:var(--muted)}.article-content blockquote{border-left:3px solid var(--cyan);padding:10px 24px;margin:28px 0;background:#78f0dc08}.article-content pre{overflow-x:auto;background:#101724;border:1px solid var(--line);border-radius:10px;padding:20px;font-size:13px}.article-content code{font-family:Consolas,monospace}.article-content table{border-collapse:collapse;width:100%}.article-content td,.article-content th{border:1px solid var(--line);padding:10px;text-align:left}.article-content .wp-block-table{overflow-x:auto}.article-content ul,.article-content ol{padding-left:1.5em}.article-tags{border-top:1px solid var(--line);margin-top:40px;padding-top:25px;font-size:13px}.post-navigation{margin-top:45px;border-top:1px solid var(--line);padding-top:25px}.post-navigation .nav-links{display:flex;justify-content:space-between;gap:30px}.post-navigation a{color:var(--cyan);font-size:14px}.post-navigation .nav-next{text-align:right}.screen-reader-text{border:0;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);height:1px;width:1px;overflow:hidden;position:absolute!important;white-space:nowrap}.journal-page .nav-links{letter-spacing:0}.journal-page .article-content .wp-block-button__link{color:#09151a;background:var(--cyan)}
@media(max-width:1000px){.journal-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:700px){.journal-grid{grid-template-columns:1fr}.journal-main{padding-block:45px 65px}.journal-intro h1{letter-spacing:-1.5px}.article-main{padding-block:40px 65px}.journal-article>h1{letter-spacing:-1px}.article-content{font-size:16px}.journal-empty{padding:26px}.post-navigation .nav-links{flex-direction:column;align-items:stretch}.article-content h2{font-size:27px}.article-content h3{font-size:22px}.journal-search .btn{gap:5px;padding-inline:12px}.journal-meta{gap:7px}.journal-page footer{padding-bottom:25px}}
@media(prefers-reduced-motion:reduce){.journal-cover:hover img{transform:none}}
/* The portfolio's collapsed menu rules must not hide WordPress pagination. */
.pagination .nav-links,.post-navigation .nav-links{display:flex!important;color:var(--muted)}
@media(max-width:700px){.pagination .nav-links,.post-navigation .nav-links{width:auto;padding:0}}
.post-password-form input[type=password]{max-width:100%;padding:10px;background:var(--surface);color:var(--text);border:1px solid var(--line);border-radius:6px}.post-password-form input[type=submit]{padding:10px 14px;background:var(--cyan);color:var(--bg);border:0;border-radius:6px;cursor:pointer}
.project-content img{max-width:100%;height:auto}.project-content a,.project-body .post-edit-link{color:var(--cyan);text-decoration:underline}.project-content figure{margin-inline:0}
.portfolio-menu{list-style:none;padding:0;margin:0;display:flex;align-items:center;gap:clamp(12px,2vw,30px);flex-wrap:wrap}
