/*
Theme Name: B89 TechLab
Theme URI: https://www.b89.de/
Author: B89.de
Description: Modern dark Tech-Lab theme for B89.de. Built to preserve existing WordPress content while giving the site a modern editorial interface.
Version: 1.0.0
Requires at least: 6.0
Tested up to: 7.1
Requires PHP: 7.4
Text Domain: b89-techlab
*/

:root{--bg:#070b10;--panel:#0d141c;--panel-2:#111b25;--text:#eef6fb;--muted:#8fa2b2;--line:rgba(139,180,205,.16);--cyan:#25e6ff;--cyan-2:#0cb9d1;--max:1240px;--radius:18px;--shadow:0 20px 60px rgba(0,0,0,.35)}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:radial-gradient(circle at 70% -10%,rgba(37,230,255,.09),transparent 30%),var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.7}
a{color:inherit;text-decoration:none}a:hover{color:var(--cyan)}
img{max-width:100%;height:auto;display:block}
.container{width:min(calc(100% - 40px),var(--max));margin-inline:auto}
.site-header{position:sticky;top:0;z-index:100;background:rgba(7,11,16,.86);backdrop-filter:blur(18px);border-bottom:1px solid var(--line)}
.header-inner{min-height:78px;display:flex;align-items:center;gap:28px}
.brand{display:flex;align-items:center;gap:12px;font-weight:900;letter-spacing:.08em;font-size:1.35rem}.brand-mark{display:grid;place-items:center;width:40px;height:40px;border:1px solid rgba(37,230,255,.55);border-radius:11px;color:var(--cyan);box-shadow:0 0 28px rgba(37,230,255,.12)}
.main-nav{margin-left:auto;display:flex;align-items:center;gap:4px}.main-nav a{padding:10px 13px;border-radius:10px;color:#b8c7d1;font-size:.93rem}.main-nav a:hover{background:rgba(37,230,255,.08);color:#fff}
.menu-toggle{display:none;margin-left:auto;background:none;border:1px solid var(--line);color:#fff;border-radius:10px;padding:9px 12px;font-size:1.1rem}
.hero{padding:86px 0 60px;border-bottom:1px solid var(--line)}
.hero-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:44px;align-items:end}.eyebrow{color:var(--cyan);font-size:.78rem;font-weight:800;letter-spacing:.18em;text-transform:uppercase}.hero h1{font-size:clamp(3rem,7vw,6.4rem);line-height:.92;letter-spacing:-.055em;margin:14px 0 22px;max-width:900px}.hero p{font-size:1.12rem;color:var(--muted);max-width:700px}.hero-card{background:linear-gradient(145deg,rgba(17,27,37,.96),rgba(8,14,20,.96));border:1px solid var(--line);border-radius:24px;padding:26px;box-shadow:var(--shadow);position:relative;overflow:hidden}.hero-card:after{content:"";position:absolute;width:180px;height:180px;right:-80px;top:-80px;border-radius:50%;background:rgba(37,230,255,.12);filter:blur(12px)}.hero-card strong{display:block;font-size:1.25rem;margin-bottom:8px}.hero-card span{color:var(--muted);font-size:.92rem}
.section{padding:62px 0}.section-head{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:24px}.section h2{font-size:2rem;letter-spacing:-.03em;margin:0}.section-intro{color:var(--muted);margin:5px 0 0}.section-link{color:var(--cyan);font-weight:700}
.topic-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.topic-card{min-height:190px;padding:24px;border-radius:var(--radius);background:linear-gradient(145deg,var(--panel-2),var(--panel));border:1px solid var(--line);transition:.2s ease;position:relative;overflow:hidden}.topic-card:hover{transform:translateY(-3px);border-color:rgba(37,230,255,.42)}.topic-card .number{font-size:.72rem;color:var(--cyan);font-weight:800;letter-spacing:.16em}.topic-card h3{font-size:1.35rem;margin:28px 0 7px}.topic-card p{color:var(--muted);font-size:.92rem;margin:0}.topic-card .arrow{position:absolute;right:22px;bottom:20px;color:var(--cyan)}
.post-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.post-card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;transition:.2s ease}.post-card:hover{transform:translateY(-3px);border-color:rgba(37,230,255,.4)}.post-thumb{aspect-ratio:16/9;background:linear-gradient(135deg,#0f1c25,#091016);display:grid;place-items:center;color:var(--cyan);overflow:hidden}.post-thumb img{width:100%;height:100%;object-fit:cover}.post-thumb .placeholder{font-size:2.2rem;opacity:.65}.post-body{padding:19px}.post-meta{color:var(--cyan);font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.1em}.post-title{font-size:1.18rem;line-height:1.25;margin:9px 0 8px}.post-excerpt{font-size:.9rem;color:var(--muted);margin:0}.post-date{font-size:.76rem;color:#6e8493;margin-top:14px}
.lab{background:linear-gradient(135deg,rgba(37,230,255,.08),rgba(17,27,37,.55));border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.lab-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px;align-items:center}.lab h2{font-size:clamp(2.2rem,5vw,4rem);line-height:1;margin:10px 0 18px}.lab p{color:var(--muted);max-width:650px}.lab-list{display:grid;grid-template-columns:1fr 1fr;gap:12px}.lab-item{padding:17px;border:1px solid var(--line);background:rgba(7,11,16,.48);border-radius:14px}.lab-item strong{display:block}.lab-item span{color:var(--muted);font-size:.84rem}
.article-shell{padding:70px 0}.article-head{max-width:900px;margin-bottom:34px}.article-head h1{font-size:clamp(2.6rem,6vw,5rem);line-height:1.02;letter-spacing:-.045em;margin:12px 0 18px}.article-meta{color:var(--muted);font-size:.9rem}.article-feature{border-radius:22px;overflow:hidden;border:1px solid var(--line);margin:30px 0}.article-content{max-width:820px;font-size:1.08rem}.article-content h2,.article-content h3{line-height:1.2;margin-top:2.1em}.article-content p,.article-content li{color:#c9d5dd}.article-content a{color:var(--cyan)}.article-content blockquote{border-left:3px solid var(--cyan);padding-left:20px;color:#d9e5eb}.article-content img{border-radius:14px}.article-content iframe{max-width:100%}
.archive-head{padding:68px 0 34px}.archive-head h1{font-size:clamp(2.5rem,6vw,5rem);line-height:1;margin:10px 0}.archive-head p{color:var(--muted);max-width:720px}
.search-form{display:flex;gap:10px;margin-top:25px}.search-form input{flex:1;background:var(--panel);border:1px solid var(--line);color:#fff;border-radius:12px;padding:13px 15px}.btn{background:var(--cyan);color:#041015;border:0;border-radius:12px;padding:12px 18px;font-weight:800;cursor:pointer}.btn:hover{color:#041015;filter:brightness(1.05)}
.site-footer{border-top:1px solid var(--line);padding:42px 0;margin-top:30px}.footer-grid{display:flex;justify-content:space-between;gap:30px}.footer-brand{font-weight:900;letter-spacing:.08em}.footer-links{display:flex;gap:18px;flex-wrap:wrap;color:var(--muted);font-size:.9rem}.copyright{color:#627583;font-size:.8rem;margin-top:24px}
.notice{padding:18px 20px;border:1px solid var(--line);border-radius:14px;background:var(--panel);color:var(--muted)}
.pagination{display:flex;gap:8px;margin-top:30px}.pagination .page-numbers{padding:8px 12px;border:1px solid var(--line);border-radius:9px}.pagination .current{background:var(--cyan);color:#041015;border-color:var(--cyan)}
@media(max-width:900px){.hero-grid,.lab-grid{grid-template-columns:1fr}.topic-grid,.post-grid{grid-template-columns:1fr 1fr}.main-nav{display:none;position:absolute;left:20px;right:20px;top:74px;background:#0a1118;border:1px solid var(--line);border-radius:14px;padding:8px;flex-direction:column;align-items:stretch}.main-nav.is-open{display:flex}.main-nav a{padding:12px}.menu-toggle{display:block}.hero{padding-top:65px}}
@media(max-width:620px){.container{width:min(calc(100% - 28px),var(--max))}.header-inner{min-height:68px}.topic-grid,.post-grid,.lab-list{grid-template-columns:1fr}.hero h1{font-size:3.25rem}.section{padding:45px 0}.section-head,.footer-grid{align-items:flex-start;flex-direction:column}.article-shell{padding:48px 0}.search-form{flex-direction:column}}

/* B89 TechLab 1.1 reusable content components */
.is-style-b89-panel,.is-style-b89-info,.is-style-b89-specs,.is-style-b89-highlight{border:1px solid var(--b89-border,#223342);border-radius:12px;background:var(--b89-panel,#101922);padding:1.15rem 1.25rem}.is-style-b89-info{border-left:3px solid #42e8ff}.is-style-b89-specs{background:#0d151d}.is-style-b89-highlight{box-shadow:0 0 0 1px rgba(66,232,255,.08),0 10px 30px rgba(0,0,0,.18)}.b89-video{aspect-ratio:16/9;width:100%;overflow:hidden;border-radius:14px;background:#05090d}.b89-video iframe,.b89-video video{width:100%;height:100%;border:0}
