/*
Theme Name: rnbrg
Theme URI: https://www.rnbrg.dev/
Author: rnbrg
Description: A minimal developer portfolio with project posts, writing, and editable personal details.
Version: 1.2.5
Requires at least: 6.0
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: rnbrg
*/

:root{--paper:#f4f3ed;--ink:#23241f;--muted:#77786e;--line:#d7d8cf;--accent:#e64b32;--card:#eaeae2}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:40px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.65}a{color:inherit;text-decoration:none}a:hover{color:var(--accent)}button{font:inherit;color:inherit}::selection{background:var(--accent);color:white}.wrap{max-width:1280px;margin:auto;padding:0 56px}.site-header{display:flex;align-items:center;justify-content:space-between;padding:31px 0;border-bottom:1px solid var(--line)}.brand{font-weight:800;letter-spacing:-1.2px;font-size:26px;line-height:1}.brand span{color:var(--accent)}nav{display:flex;gap:31px;font-size:13px}nav a{padding:7px 0}nav .menu{display:flex;gap:25px;list-style:none;margin:0;padding:0}.nav-end{display:flex;align-items:center;gap:8px}.dot{width:6px;height:6px;border-radius:100%;background:var(--accent);display:inline-block}.eyebrow,.mono{font-family:'Courier New',monospace;font-size:11px;letter-spacing:1.3px;text-transform:uppercase}.muted{color:var(--muted)}.hero{padding:79px 0 69px;position:relative}.eyebrow{display:flex;align-items:center;gap:10px}.hero h1{font-size:clamp(58px,7.7vw,104px);font-weight:500;line-height:1.04;letter-spacing:-6px;max-width:950px;margin:31px 0 31px}.hero h1 em{font-style:normal;color:var(--muted)}.hero-bottom{display:flex;justify-content:space-between;align-items:flex-end}.hero p{font-size:17px;line-height:1.75;max-width:440px;margin:0;color:#65675d}.arrow-link{display:inline-flex;gap:25px;align-items:center;font-size:13px;border-bottom:1px solid var(--ink);padding:9px 0}.arrow-link span{font-size:20px}.section-head{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--ink);padding:24px 0 27px}.section-head h2{font-size:13px;font-weight:400;margin:0;letter-spacing:1px;text-transform:uppercase;font-family:'Courier New',monospace}.section-head small{font-family:'Courier New',monospace;font-size:11px;color:var(--muted)}.projects{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-bottom:80px}.project{display:block;border:0;background:none;text-align:left;padding:0;cursor:pointer;width:100%}.project-art{height:302px;overflow:hidden;position:relative;background:#e5e7de;display:flex;align-items:center;justify-content:center;transition:background .25s}.project:hover .project-art{background:#dcdfd4}.project-meta{display:flex;justify-content:space-between;margin-top:18px;gap:10px}.project h3{font-size:19px;font-weight:500;margin:0 0 4px;letter-spacing:-.4px}.project .description{font-size:13px;color:var(--muted);margin:0}.project .tag{font-size:10px;color:var(--muted);font-family:'Courier New',monospace;display:block;margin-top:13px;letter-spacing:.5px}.go{font-size:23px}.terminal{width:76%;background:#262b28;border-radius:7px;box-shadow:0 18px 35px #303a2520;transform:rotate(-3deg);font-family:'Courier New',monospace;color:#c9d3c1;font-size:11px;line-height:1.8}.terminal-bar{border-bottom:1px solid #465044;padding:10px 15px;color:#889382;display:flex;justify-content:space-between;font-size:9px}.terminal-code{padding:23px}.green{color:#b4d39b}.terminal-code .muted{color:#82917c}.cursor{display:inline-block;background:#c9d3c1;width:6px;height:12px;vertical-align:middle}.art-notes{background:#e5e1d8}.note-window{width:67%;background:#faf9f5;border:1px solid #d7d4ca;border-radius:3px;box-shadow:0 14px 28px #4d45331a;padding:22px 26px;transform:rotate(4deg)}.note-window .mono{font-size:8px;color:#89897b}.note-window h4{font-family:Georgia,serif;font-size:31px;line-height:1.12;font-weight:400;margin:18px 0}.note-rule{height:5px;background:#e7e7de;margin:8px 0;width:95%}.note-rule.short{width:70%}.note-footer{display:flex;justify-content:space-between;font-size:8px;margin-top:22px;color:#929286}.about{display:grid;grid-template-columns:1fr 1.04fr;gap:60px;border-top:1px solid var(--ink);padding:28px 0 74px}.about .intro{font-size:30px;letter-spacing:-1px;line-height:1.35;margin:0 0 23px}.about p{color:#65675d;font-size:14px;margin:0 0 22px;max-width:460px}.chips{display:flex;flex-wrap:wrap;gap:7px;margin-top:26px}.chip{font-family:'Courier New',monospace;border:1px solid var(--line);padding:5px 10px;font-size:10px;color:#696b60}.writing{padding-bottom:77px}.post-row{border-top:1px solid var(--line);display:grid;grid-template-columns:140px 1fr 25px;gap:20px;padding:23px 0;align-items:center}.post-row time{font-family:'Courier New',monospace;font-size:11px;color:var(--muted)}.post-row h3{margin:0;font-size:18px;letter-spacing:-.3px;font-weight:400}.post-row .arrow{font-size:19px}.contact{border-top:1px solid var(--ink);padding:43px 0 55px;display:flex;align-items:flex-end;justify-content:space-between}.contact h2{font-size:53px;line-height:1.1;letter-spacing:-2px;font-weight:400;margin:16px 0 0}.contact p{font-size:14px;color:var(--muted);margin:10px 0 0}footer{padding:22px 0;border-top:1px solid var(--line);font-family:'Courier New',monospace;font-size:10px;display:flex;justify-content:space-between;color:var(--muted);gap:20px}.footer-links{display:flex;gap:20px}.demo-note{font-size:10px;color:var(--muted);margin:-17px 0 20px;font-family:'Courier New',monospace}dialog{background:var(--paper);border:1px solid var(--line);padding:35px;max-width:560px;width:calc(100% - 32px);color:var(--ink)}dialog::backdrop{background:#2228;backdrop-filter:blur(4px)}dialog h2{font-weight:400;font-size:30px;letter-spacing:-1px}dialog p{color:#65675d}dialog button{border:1px solid var(--line);background:transparent;padding:8px 15px;cursor:pointer}.article{max-width:760px;padding:65px 0 90px;min-height:60vh}.article h1{font-size:54px;line-height:1.12;letter-spacing:-2px;font-weight:400}.article a{border-bottom:1px solid var(--accent)}.article img{max-width:100%;height:auto}.article pre{overflow:auto}.article input,.article textarea{max-width:100%;padding:10px;border:1px solid var(--line);background:transparent;font:inherit}.article button,.article input[type=submit]{cursor:pointer}.screen-reader-text,.skip-link{position:absolute;left:-10000px}.skip-link:focus{left:20px;top:10px;background:var(--paper);padding:10px;z-index:99}:focus-visible{outline:2px solid var(--accent);outline-offset:5px}.empty{padding:25px 0;color:var(--muted)}.wp-block-image img{height:auto;max-width:100%}@media(min-width:1450px){.wrap{max-width:1380px;padding:0 70px}.hero{padding-top:96px}.project-art{height:340px}}@media(max-width:760px){.wrap{padding:0 24px}.site-header{padding:24px 0}.brand{font-size:23px}nav{gap:20px;font-size:12px}.nav-end{display:none}.hero{padding:57px 0}.hero h1{font-size:65px;letter-spacing:-3.9px;margin:27px 0}.hero-bottom{display:block}.hero p{font-size:15px}.hero .arrow-link{margin-top:25px}.projects{grid-template-columns:1fr;gap:35px;margin-bottom:58px}.project-art{height:280px}.about{grid-template-columns:1fr;gap:28px;padding-bottom:50px}.about .intro{font-size:27px}.post-row{grid-template-columns:1fr 22px;gap:6px}.post-row time{grid-column:1/-1}.post-row h3{font-size:16px}.contact{display:block}.contact h2{font-size:44px}.contact .arrow-link{margin-top:20px}.writing{padding-bottom:50px}footer{flex-wrap:wrap}.article h1{font-size:40px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Terminal identity: stable dimensions, one typing pass, and a gentle cursor. */
.brand{position:relative;display:inline-block;padding-right:.8em;font-family:'Courier New',monospace;letter-spacing:-1px;font-size:24px;white-space:nowrap}
.brand .brand-text{display:block;color:inherit}
.brand .brand-cursor{position:absolute;left:calc(100% - .8em);bottom:0;color:var(--accent);font-weight:400;animation:brand-blink 1.6s steps(1,end) infinite}
.brand.has-terminal-motion .brand-text{animation:brand-type var(--brand-time,1s) steps(var(--brand-steps,9),end) both}
.brand.has-terminal-motion .brand-cursor{animation:brand-cursor-type var(--brand-time,1s) steps(var(--brand-steps,9),end) both,brand-blink 1.6s steps(1,end) var(--brand-time,1s) infinite}
@keyframes brand-type{from{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0 0 0 0)}}
@keyframes brand-cursor-type{from{left:0}to{left:calc(100% - .8em)}}
@keyframes brand-blink{0%,55%{opacity:1}56%,100%{opacity:0}}
@media(prefers-reduced-motion:reduce){.brand.has-terminal-motion .brand-text,.brand.has-terminal-motion .brand-cursor,.brand .brand-cursor{animation:none;clip-path:none}}

/* Charcoal terminal palette; the interface retains sans-serif typography. */
:root{color-scheme:dark;--paper:#1e2022;--ink:#eceee8;--muted:#a3aaa3;--line:#3b4040;--accent:#ff3344;--card:#272b2c}
body{background:var(--paper)}
.site-header{border-top:2px solid var(--line);margin-top:14px;padding-top:26px}
.hero h1 em{color:var(--accent)}
.hero p,.about p,.contact p,dialog p{color:#b0b7b2}
.section-head,.about,.contact{border-top-color:#535b56}
.eyebrow,.mono,.section-head h2,.section-head small,.project .tag,.chip,.post-row time,footer,.demo-note{font-family:Arial,Helvetica,sans-serif}
.eyebrow{color:#b5bdb6;letter-spacing:1.7px}
.section-head h2{color:#d2d9d0;letter-spacing:1.4px}
.section-head small{letter-spacing:1px}
.project-art{background:#292e2f;border:1px solid #3b4240;border-radius:5px}
.project:hover .project-art{background:#303837}
.project:focus-visible{border-radius:5px}
.project .description,.project .tag{color:var(--muted)}
.terminal{background:#191e1c;border:1px solid #465149;box-shadow:0 18px 38px #0003}
.terminal-bar{color:#a0ada1;border-color:#3c493f}
.terminal-code .muted{color:#9daea0}
.art-notes{background:#2c3033}
.project:hover .art-notes{background:#333a3c}
.note-window{background:#222729;border-color:#4b5451;box-shadow:0 14px 28px #0003}
.note-window .mono{color:#a7b7aa}.note-window h4{color:#dde6d9}
.note-rule{background:#434e49}.note-footer{color:#adb8ae}
.chip{color:#b9c3b8;background:#262c29;border-color:#454f47;letter-spacing:.8px}
.post-row{transition:color .2s,border-color .2s}.post-row:hover{border-color:var(--accent)}
.contact h2 span{color:var(--accent)!important}
footer{font-size:11px;letter-spacing:.3px}
.demo-note{font-size:11px}
dialog{box-shadow:0 20px 80px #0008;border-color:#515e52}
.article input,.article textarea{color:var(--ink);background:#262b2a}
.article pre,.article code{background:#262c29;color:#c4dab8}
::selection{background:var(--accent);color:#1e2022}
@media(max-width:760px){.site-header{margin-top:8px}.section-head small{max-width:46%;text-align:right}.section-head h2{max-width:50%}}

/* Vivid red accent inspired by Ultra Red. */
.green{color:var(--accent)}.cursor{background:var(--accent)}::selection{color:#fff}

/* Quiet editorial header with numbered text navigation. */
html{scroll-padding-top:125px}
.site-header{position:sticky;top:0;z-index:30;display:flex;align-items:center;justify-content:space-between;gap:32px;margin-top:0;padding:29px 0;border:0;border-bottom:1px solid #363b3d;border-radius:0;background:var(--paper);box-shadow:none;backdrop-filter:none}
.site-header::after{content:none}
.site-header .brand{font-size:24px;flex-shrink:0}
.site-header nav{display:flex;gap:30px;align-items:center;border:0;border-radius:0;padding:0;background:none;counter-reset:nav-item;margin-left:auto}
.site-header nav a{position:relative;display:inline-flex;align-items:baseline;gap:9px;padding:10px 0;border:0;border-radius:0;background:none;color:#adb3b0;font-size:14px;line-height:1.5;box-shadow:none;text-decoration:none;text-underline-offset:7px;transition:color .2s}
.site-header nav a::before{counter-increment:nav-item;content:counter(nav-item,decimal-leading-zero);font-size:9px;color:#858e89;letter-spacing:.5px}
.site-header nav a:hover,.site-header nav a[aria-current="location"],.site-header nav .current-menu-item>a{color:var(--ink);background:none;box-shadow:none;text-decoration:underline;text-decoration-thickness:1px}
.site-header nav a[aria-current="location"]::before{color:var(--ink)}
.site-header nav .menu{display:flex;gap:30px;flex-wrap:wrap;list-style:none;margin:0;padding:0}
.site-header .nav-end{display:flex;gap:9px;font-size:10px;letter-spacing:.7px;padding:10px 0;margin-left:14px;color:#d7dcd7}
.site-header .nav-end .dot{display:none}
.hero{padding-top:75px}
.admin-bar .site-header{top:32px}
@media(max-width:760px){html{scroll-padding-top:150px}.site-header{flex-wrap:wrap;gap:17px 16px;padding:22px 0 16px}.site-header .brand{font-size:23px}.site-header .nav-end{display:flex;margin-left:auto;font-size:9px}.site-header nav{order:3;flex-basis:100%;justify-content:space-between;gap:16px;margin-left:0}.site-header nav a{font-size:14px;padding:6px 0}.site-header nav .menu{width:100%;justify-content:space-between;gap:16px}.hero{padding-top:48px}.admin-bar .site-header{top:46px}}
@media(prefers-reduced-motion:reduce){.site-header nav a{transition:none}}

.site-header nav a[aria-current="location"],.site-header nav a[aria-current="location"]::before,.site-header nav .current-menu-item>a{color:var(--accent)}

.brand .brand-text{width:max-content;max-width:100%}
@media(max-width:420px){.site-header .brand{font-size:21px}}

@keyframes brand-cursor-type{from{left:0}to{left:var(--brand-title-width,calc(100% - .8em))}}
.brand .brand-cursor{left:var(--brand-title-width,calc(100% - .8em))}

/* Cursor participates in text flow; no absolute coordinates. */
.brand .brand-text{display:inline-block;width:max-content;max-width:none;vertical-align:baseline;animation:none!important;clip-path:none!important}.brand .brand-cursor{position:static;display:inline-block;left:auto!important;bottom:auto;vertical-align:baseline;animation:brand-blink 1.6s steps(1,end) infinite!important}
@media(prefers-reduced-motion:reduce){.brand .brand-cursor{animation:none!important}}
