@import url('/assets/css/ayrix-studio.css');

/* Signal redesign: a crisp, high-contrast technical publication. */
@import url('https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Manrope:wght@400;500;600;700;800&family=Space+Grotesk:wght@400;500;600;700&display=swap');
:root,html[data-theme=dark],html[data-theme=light]{--theme:#070b13;--entry:#0d1421;--primary:#f4f7ff;--secondary:#98a5bd;--content:#c7d1e3;--border:#26334a;--code-bg:#080d16;--brand:#55e6c1;--brand-2:#81a8ff}*{box-sizing:border-box}html,body{background:var(--theme);color:var(--content)}body{font-family:Manrope,system-ui,sans-serif;background:radial-gradient(circle at 4% 5%,rgba(85,230,193,.12),transparent 25rem),radial-gradient(circle at 92% 14%,rgba(129,168,255,.14),transparent 31rem),#070b13}.header{border-bottom:1px solid rgba(152,165,189,.18);background:rgba(7,11,19,.8);backdrop-filter:blur(20px)}.header-nav,.main{max-width:1240px}.header-nav{padding:1rem 1.5rem}.main{padding:3.7rem 1.5rem 6.5rem}.logo a{font-size:0!important}.logo a:before{border:1px solid rgba(85,230,193,.5);border-radius:9px;background:#0e1823 url('/favicon.svg') center/20px no-repeat;box-shadow:0 0 25px rgba(85,230,193,.18)}.logo a:after{content:'AYRIX // SIGNAL';color:var(--primary);font-family:'Space Grotesk';font-size:.86rem;font-weight:700;letter-spacing:.13em}.menu a{border-radius:7px;color:var(--secondary);font-family:'DM Mono';font-size:.68rem}.menu a:hover,.menu .active{background:rgba(85,230,193,.12);color:var(--brand)}.menu a:after{display:none}.home-info{min-height:560px!important;padding:clamp(2.2rem,6vw,6rem);border:1px solid rgba(129,168,255,.33);border-radius:20px;background:linear-gradient(130deg,rgba(16,31,46,.96),rgba(8,13,23,.9));box-shadow:0 30px 90px rgba(0,0,0,.3)}.home-info:before{content:'SYSTEM ONLINE';color:var(--brand);font-family:'DM Mono';font-size:.65rem;letter-spacing:.13em}.home-info:after{content:'//';color:rgba(129,168,255,.08);font-family:'Space Grotesk'}.home-info .entry-header h1{color:var(--primary);font-family:'Space Grotesk';font-size:clamp(3.35rem,8vw,7.6rem);letter-spacing:-.07em}.home-info .entry-header h1:before{content:'TECHNICAL FIELD NOTES / 2026';color:var(--brand);font-family:'DM Mono';font-size:.67rem;letter-spacing:.12em}.home-info .entry-content,.section-subtitle{color:var(--secondary)}.home-info .entry-content a,.post-content a{color:var(--brand)}.home-stat{border:1px solid var(--border);border-radius:12px;background:rgba(13,20,33,.78)}.home-stat-value{color:var(--brand);font-family:'Space Grotesk'}.home-stat-label,.entry-footer,.post-meta{font-family:'DM Mono';font-size:.68rem}.section-header{grid-template-columns:90px 1fr}.section-label{color:var(--brand);font-family:'DM Mono';font-size:.63rem;letter-spacing:.14em}.section-header h2,.page-header h1,.page-heading{color:var(--primary);font-family:'Space Grotesk';letter-spacing:-.07em}.home-card,.post-entry{border:1px solid var(--border);border-radius:14px;background:linear-gradient(145deg,rgba(19,29,47,.95),rgba(11,17,29,.95))}.home-card:hover,.post-entry:hover{border-color:rgba(85,230,193,.65);background:linear-gradient(145deg,#172740,#0c1727);box-shadow:0 18px 45px rgba(0,0,0,.3)}.home-card-icon{border:1px solid rgba(85,230,193,.25);border-radius:11px;background:rgba(85,230,193,.07);color:var(--brand)}.home-card-title,.entry-header h2,.entry-header h2 a{color:var(--primary);font-family:'Space Grotesk'}.home-card-desc,.entry-content{color:var(--secondary)}.topic-pill{border:1px solid var(--border);border-radius:999px;background:rgba(13,20,33,.7)}.topic-pill strong{color:var(--brand)}.home-cta{border:1px solid rgba(129,168,255,.34);border-radius:16px;background:linear-gradient(120deg,#12243a,#101a2b)}.btn-primary{background:var(--brand);color:#06110f}.post-entry{overflow:hidden;padding:1rem}.post-entry .entry-cover{height:190px;margin:-1rem -1rem 1.35rem;overflow:hidden;background:#0b1220}.post-entry .entry-cover img{width:100%;height:100%;object-fit:cover}.post-single{max-width:900px}.post-single .post-header{padding:clamp(1.6rem,4vw,3.3rem);border:1px solid rgba(129,168,255,.34);border-radius:18px;background:linear-gradient(135deg,rgba(22,39,64,.9),rgba(11,17,29,.95))}.post-single .post-title{color:var(--primary);font-family:'Space Grotesk';font-size:clamp(2.65rem,6.5vw,5.4rem);line-height:.94;letter-spacing:-.075em}.post-single .post-description{color:var(--secondary);font-size:1.05rem}.breadcrumbs{color:var(--brand);font-family:'DM Mono';font-size:.68rem}.post-single .entry-cover{overflow:hidden;border:1px solid var(--border);border-radius:15px;background:#0a101b}.post-single .entry-cover img{width:100%;aspect-ratio:16/7;object-fit:cover}.post-content{font-size:1.04rem;line-height:1.88}.post-content h2{border-top:1px solid var(--border);color:var(--primary);font-family:'Space Grotesk';letter-spacing:-.045em}.post-content h3{color:var(--brand)}.post-content pre{border:1px solid #243b4d;border-radius:12px;background:#070c14;box-shadow:inset 3px 0 var(--brand)}.post-content code{color:#d4fff5}.post-content blockquote{border-left-color:var(--brand);background:rgba(85,230,193,.07);color:#cde7e0}.post-content table{border:1px solid var(--border);border-radius:12px}.post-content thead{background:#14243a}.post-tags li a{border:1px solid rgba(85,230,193,.3);border-radius:999px;background:rgba(85,230,193,.06);color:var(--brand);font-family:'DM Mono'}.about-profile,.contact-card,.page-intro{border:1px solid var(--border);border-radius:14px;background:linear-gradient(135deg,#13233a,#0d1421)}.footer{border-top:1px solid var(--border);background:#060a11;color:#7f8da4;font-family:'DM Mono';font-size:.68rem}@media(max-width:800px){.header-nav{align-items:flex-start;flex-direction:column;gap:.8rem}.menu{width:100%;overflow:auto}.main{padding:2.2rem 1rem 4rem}.home-info{min-height:470px!important;padding:2rem 1.5rem}.section-header{grid-template-columns:1fr}.section-label{writing-mode:initial;transform:none}.home-cards{grid-template-columns:1fr}.post-single .entry-cover img{aspect-ratio:16/9}}

/* Editorial finish for guides, cards, and code-heavy articles. */
.post-single { max-width: 860px; }
.post-single .post-header { padding: clamp(1.7rem, 4vw, 3.4rem); border: 1px solid var(--border); border-radius: 4px 30px 4px 30px; background: linear-gradient(135deg, rgba(127,160,66,.14), transparent 56%), var(--entry); }
.post-single .post-title { font-family: 'Playfair Display', Georgia, serif; font-size: clamp(2.4rem, 6vw, 4.6rem); line-height: 1; letter-spacing: -.035em; }
.post-single .post-description { max-width: 60ch; color: var(--secondary); font-size: 1.05rem; line-height: 1.65; }
.post-single .post-meta { color: var(--secondary); font-family: 'DM Mono', monospace; font-size: .73rem; }
.post-single .entry-cover { margin: 1.2rem 0 2.8rem; overflow: hidden; border: 1px solid var(--border); border-radius: 3px 22px 3px 22px; background: var(--code-bg); }
.post-single .entry-cover img { width: 100%; aspect-ratio: 16 / 7; object-fit: cover; }
.post-single .post-content { font-size: 1.04rem; line-height: 1.85; }
.post-single .post-content h2 { margin-top: 3.1rem; padding-top: .65rem; color: var(--primary); font-family: 'Playfair Display', Georgia, serif; font-size: clamp(1.65rem, 3vw, 2.25rem); border-top: 1px solid var(--border); }
.post-single .post-content pre { padding: 1.15rem 1.3rem; overflow-x: auto; border: 1px solid #31483a; border-radius: 3px 14px 3px 14px; background: #09110d; box-shadow: inset 3px 0 var(--brand); }
.post-single .post-content code { color: #dceec4; }
.post-single .post-content blockquote { margin: 1.8rem 0; padding: 1rem 1.25rem; border-left: 3px solid var(--brand); border-radius: 0 12px 12px 0; background: rgba(127,160,66,.1); }
.post-single .post-content table { display: table; width: 100%; overflow: hidden; border: 1px solid var(--border); border-radius: 12px; }
.post-entry { overflow: hidden; transition: transform .25s ease, border-color .25s ease, box-shadow .25s ease; }
.post-entry:hover { transform: translateY(-4px); box-shadow: 0 16px 34px rgba(0,0,0,.22); }
.post-entry .entry-cover { margin: -1rem -1rem 1.2rem; height: 180px; overflow: hidden; background: #101b15; }
.post-entry .entry-cover img { width: 100%; height: 100%; object-fit: cover; transition: transform .45s ease; }
.post-entry:hover .entry-cover img { transform: scale(1.04); }
@media (max-width: 700px) { .post-single .post-header { padding: 1.4rem; } .post-single .entry-cover img { aspect-ratio: 16 / 9; } .post-single .post-content { font-size: 1rem; } }

/* Keep the article layer aligned with the Signal system above. */
.post-single{max-width:900px}.post-single .post-header{border-color:rgba(129,168,255,.34);border-radius:18px;background:linear-gradient(135deg,rgba(22,39,64,.9),rgba(11,17,29,.95))}.post-single .post-title,.post-single .post-content h2{font-family:'Space Grotesk',sans-serif;color:var(--primary)}.post-single .post-title{font-size:clamp(2.65rem,6.5vw,5.4rem);line-height:.94;letter-spacing:-.075em}.post-single .post-content h2{font-size:clamp(1.7rem,3vw,2.45rem);letter-spacing:-.045em}.post-single .post-content pre{border-color:#243b4d;border-radius:12px;background:#070c14}.post-single .post-content code{color:#d4fff5}.post-single .post-content blockquote{border-left-color:var(--brand);background:rgba(85,230,193,.07)}.post-entry .entry-cover{background:#0b1220}.post-entry:hover{border-color:rgba(85,230,193,.65);background:linear-gradient(145deg,#172740,#0c1727);box-shadow:0 18px 45px rgba(0,0,0,.3)}

.signal-loader{position:fixed;inset:0;z-index:9999;display:grid;place-items:center;overflow:hidden;background:#050811;color:#f4f7ff;transition:opacity .48s ease,visibility .48s ease}.signal-loader:before,.signal-loader:after{content:'';position:absolute;top:50%;left:50%;width:40vmax;height:40vmax;border:1px solid rgba(85,230,193,.24);border-radius:50%;transform:translate(-50%,-50%);animation:signal-radiate 1.9s ease-out infinite}.signal-loader:after{width:22vmax;height:22vmax;border-color:rgba(129,168,255,.35);animation-delay:.5s}.signal-loader__grid{position:absolute;inset:0;opacity:.32;background:linear-gradient(rgba(129,168,255,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(129,168,255,.08) 1px,transparent 1px);background-size:56px 56px;mask-image:radial-gradient(circle at center,#000,transparent 72%)}.signal-loader__core{position:relative;z-index:1;display:flex;align-items:center;flex-direction:column;text-align:center}.signal-loader__eyebrow,.signal-loader__status,.signal-loader__count{font-family:'DM Mono',monospace;font-size:.68rem;font-weight:500;letter-spacing:.17em}.signal-loader__eyebrow{margin-bottom:1rem;color:var(--brand)}.signal-loader__mark{display:grid;place-items:center;width:116px;height:116px;margin-bottom:1.25rem;border:1px solid rgba(85,230,193,.65);border-radius:50%;color:var(--primary);font-family:'Space Grotesk',sans-serif;font-size:4.6rem;line-height:1;box-shadow:0 0 0 12px rgba(85,230,193,.045),0 0 46px rgba(85,230,193,.2);animation:signal-pulse 1.15s ease-in-out infinite alternate}.signal-loader__status{color:var(--secondary)}.signal-loader__line{width:min(260px,62vw);height:2px;margin:1rem 0 .7rem;background:#1f2c40;overflow:hidden}.signal-loader__line i{display:block;width:100%;height:100%;background:linear-gradient(90deg,var(--brand),var(--brand-2));transform:scaleX(0);transform-origin:left}.signal-loader__count{color:var(--brand-2)}.signal-loader--exit{opacity:0;visibility:hidden}@keyframes signal-radiate{0%{transform:translate(-50%,-50%) scale(.58);opacity:.72}100%{transform:translate(-50%,-50%) scale(1.18);opacity:0}}@keyframes signal-pulse{to{transform:scale(1.05);box-shadow:0 0 0 18px rgba(85,230,193,.025),0 0 70px rgba(85,230,193,.32)}}@media(prefers-reduced-motion:reduce){.signal-loader:before,.signal-loader:after,.signal-loader__mark{animation:none}.signal-loader{transition:none}}

/* Forest Signal palette. */
:root,html[data-theme=dark],html[data-theme=light]{--theme:#09110c;--entry:#101c14;--primary:#f3faeb;--secondary:#a8b9a7;--content:#d2dfd0;--border:#2d4434;--code-bg:#070d09;--brand:#8dcc50;--brand-2:#c1e77e}body{background:radial-gradient(circle at 4% 5%,rgba(110,190,77,.15),transparent 25rem),radial-gradient(circle at 92% 14%,rgba(193,231,126,.1),transparent 31rem),#09110c}.header{background:rgba(9,17,12,.82)}.home-info{border-color:rgba(141,204,80,.34);background:linear-gradient(130deg,rgba(20,43,27,.96),rgba(9,17,12,.92))}.home-card,.post-entry{background:linear-gradient(145deg,rgba(20,36,25,.97),rgba(11,20,14,.97))}.home-card:hover,.post-entry:hover{border-color:rgba(141,204,80,.72);background:linear-gradient(145deg,#1b3522,#0d1c12)}.post-single .post-header{border-color:rgba(141,204,80,.34);background:linear-gradient(135deg,rgba(24,46,30,.92),rgba(10,19,13,.96))}.post-content pre{border-color:#35513b!important;background:#070d09!important}.post-content thead{background:#1c3422}.home-cta{border-color:rgba(141,204,80,.34);background:linear-gradient(120deg,#1c3923,#112519)}.signal-loader{background:#061009}.signal-loader:before{border-color:rgba(141,204,80,.28)}.signal-loader:after{border-color:rgba(193,231,126,.33)}.signal-loader__grid{background:linear-gradient(rgba(141,204,80,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(141,204,80,.08) 1px,transparent 1px)}.signal-loader__mark{border-color:rgba(141,204,80,.72);box-shadow:0 0 0 12px rgba(141,204,80,.045),0 0 46px rgba(141,204,80,.22)}@keyframes signal-pulse{to{transform:scale(1.05);box-shadow:0 0 0 18px rgba(141,204,80,.025),0 0 70px rgba(141,204,80,.32)}}

/* Keep the supplied portrait banners fully visible instead of cropping them. */
img[src*="codex-ubuntu-cli-banner"],img[src*="claude-ubuntu-cli-banner"]{object-fit:contain!important;background:#061009}.post-entry:has(img[src*="codex-ubuntu-cli-banner"]) .entry-cover,.post-entry:has(img[src*="claude-ubuntu-cli-banner"]) .entry-cover{display:grid;place-items:center;background:#061009}.post-single .entry-cover:has(img[src*="codex-ubuntu-cli-banner"]),.post-single .entry-cover:has(img[src*="claude-ubuntu-cli-banner"]){display:grid;place-items:center;background:#061009}.post-single .entry-cover:has(img[src*="codex-ubuntu-cli-banner"]) img,.post-single .entry-cover:has(img[src*="claude-ubuntu-cli-banner"]) img{max-height:460px}
