/* ==========================================================================
   Farhad Karimi — IT-Beratung & Softwareentwicklung
   Terminal-Design auf Basis der Tokyo-Night-Palette
   ========================================================================== */

/* ---------- Schrift (lokal eingebunden, keine Anfragen an Google) ---------- */
@font-face{
  font-family:'JetBrains Mono';
  src:url('../fonts/jetbrains-mono-latin.woff2') format('woff2');
  font-weight:100 800; font-style:normal; font-display:swap;
}
@font-face{
  font-family:'JetBrains Mono';
  src:url('../fonts/jetbrains-mono-latin-italic.woff2') format('woff2');
  font-weight:400; font-style:italic; font-display:swap;
}

/* ---------- Design-Tokens ---------- */
:root{
  --bg:#1a1b26; --bg-deep:#13141c; --panel:#16161e; --panel-2:#1f2335; --panel-3:#24283b;
  --fg:#c0caf5; --fg-strong:#e2e7ff; --muted:#7a83ad; --dim:#565f89; --rule:#292e42; --rule-2:#3b4261;
  --green:#9ece6a; --blue:#7aa2f7; --purple:#bb9af7; --orange:#e0af68; --red:#f7768e; --cyan:#7dcfff; --yellow:#e0d68a; --teal:#73daca;
  --link:var(--cyan); --link-hover:var(--yellow);
  --glow:rgba(122,162,247,.18); --shadow:0 18px 50px -20px rgba(0,0,0,.65);
  --radius:12px; --radius-sm:8px;
  --maxw:1120px; --gutter:clamp(16px,4vw,32px);
  --font:'JetBrains Mono',ui-monospace,SFMono-Regular,Menlo,Consolas,'Liberation Mono',monospace;
  --header-h:64px;
  color-scheme:dark;
}
:root[data-theme="light"]{
  --bg:#e9ebf2; --bg-deep:#dfe2ec; --panel:#f6f7fb; --panel-2:#eceef5; --panel-3:#e1e4ee;
  --fg:#343b58; --fg-strong:#1b1f33; --muted:#5a6187; --dim:#8990b3; --rule:#d3d7e5; --rule-2:#bfc4d8;
  --green:#485e30; --blue:#2e5bc9; --purple:#7847bd; --orange:#8f5e15; --red:#b0344f; --cyan:#0f6a8f; --yellow:#8c4351; --teal:#2f6b63;
  --glow:rgba(46,91,201,.12); --shadow:0 18px 40px -22px rgba(40,50,90,.35);
  color-scheme:light;
}
/* Experimentell: reines Schwarz/Weiß/Grau – Akzentfarben werden zu abgestuften Grautönen */
:root[data-theme="mono"]{
  --bg:#111111; --bg-deep:#0a0a0a; --panel:#161616; --panel-2:#1f1f1f; --panel-3:#282828;
  --fg:#c8c8c8; --fg-strong:#f5f5f5; --muted:#8c8c8c; --dim:#5e5e5e; --rule:#2b2b2b; --rule-2:#3d3d3d;
  --green:#e8e8e8; --blue:#bdbdbd; --purple:#dcdcdc; --orange:#a6a6a6; --red:#ffffff; --cyan:#cfcfcf; --yellow:#ffffff; --teal:#b3b3b3;
  --glow:rgba(255,255,255,.07); --shadow:0 18px 50px -20px rgba(0,0,0,.8);
  color-scheme:dark;
}
:root[data-theme="mono"] body::before{
  background:radial-gradient(900px 500px at 85% -10%, rgba(255,255,255,.05), transparent 70%),
    radial-gradient(circle at 1px 1px, var(--rule) 1px, transparent 0) 0 0/28px 28px;
}
:root[data-theme="mono"] .portrait-caption .k{color:#bdbdbd;}
:root[data-theme="mono"] .portrait-caption .v{color:#f0f0f0;}
:root[data-theme="mono"] .portrait:hover img{filter:grayscale(1) contrast(1.05);}
:root[data-theme="mono"] dialog.term .window{filter:grayscale(1);}

/* ---------- Basis ---------- */
*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header-h) + 20px);-webkit-text-size-adjust:100%;}
body{
  margin:0; min-height:100vh; background:var(--bg); color:var(--fg);
  font-family:var(--font); font-size:15px; line-height:1.7;
  -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility;
  padding-bottom:env(safe-area-inset-bottom,0px);
}
body::before{ /* dezentes Punktraster im Hintergrund */
  content:""; position:fixed; inset:0; z-index:-1; pointer-events:none;
  background:
    radial-gradient(900px 500px at 85% -10%, var(--glow), transparent 70%),
    radial-gradient(700px 420px at -10% 30%, rgba(187,154,247,.08), transparent 70%),
    radial-gradient(circle at 1px 1px, var(--rule) 1px, transparent 0) 0 0/28px 28px;
  opacity:.9;
}
img{max-width:100%;height:auto;display:block;}
a{color:var(--link);text-decoration:none;border-bottom:1px solid color-mix(in srgb,var(--link) 35%,transparent);transition:color .15s,border-color .15s;}
a:hover{color:var(--link-hover);border-color:var(--link-hover);}
:focus-visible{outline:2px solid var(--yellow);outline-offset:3px;border-radius:4px;}
::selection{background:color-mix(in srgb,var(--purple) 40%,transparent);color:var(--fg-strong);}
h1,h2,h3,h4{color:var(--fg-strong);line-height:1.3;margin:0;font-weight:700;letter-spacing:-.01em;}
p{margin:0 0 1em;}
strong,b{color:var(--fg-strong);font-weight:600;}
ul{padding-left:1.2em;}
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}
.skip-link{position:absolute;left:12px;top:-60px;z-index:200;background:var(--yellow);color:#1a1b26;padding:8px 14px;border-radius:6px;border:0;}
.skip-link:focus{top:12px;}

.wrap{max-width:var(--maxw);margin:0 auto;padding-inline:var(--gutter);}

/* ---------- Farb-Helfer ---------- */
.c-green{color:var(--green);} .c-blue{color:var(--blue);} .c-purple{color:var(--purple);} .c-orange{color:var(--orange);}
.c-red{color:var(--red);} .c-cyan{color:var(--cyan);} .c-yellow{color:var(--yellow);} .c-muted{color:var(--muted);} .c-dim{color:var(--dim);}

/* ---------- Header ---------- */
.site-header{
  position:sticky; top:0; z-index:50;
  padding-top:env(safe-area-inset-top,0px);
  background:color-mix(in srgb,var(--bg) 78%,transparent);
  backdrop-filter:saturate(160%) blur(14px); -webkit-backdrop-filter:saturate(160%) blur(14px);
  border-bottom:1px solid transparent; transition:border-color .2s, background .2s;
}
.site-header.is-scrolled{border-bottom-color:var(--rule);}
.header-inner{display:flex;align-items:center;gap:16px;min-height:var(--header-h);}
.brand{display:flex;align-items:center;gap:10px;border:0;color:var(--fg-strong);font-weight:700;white-space:nowrap;}
.brand:hover{color:var(--fg-strong);}
.brand-mark{display:grid;place-items:center;width:34px;height:34px;border-radius:9px;background:linear-gradient(135deg,var(--blue),var(--purple));color:#16161e;font-size:14px;font-weight:800;box-shadow:0 6px 20px -8px var(--blue);}
.brand-text .tilde{color:var(--blue);}
.brand-text .cur{display:inline-block;width:.55em;height:1.05em;margin-left:2px;vertical-align:-2px;background:var(--fg);animation:blink 1.1s step-start infinite;}
.main-nav{margin-left:auto;}
.main-nav ul{display:flex;gap:4px;list-style:none;margin:0;padding:0;}
.main-nav a{display:block;padding:7px 12px;border:0;border-radius:8px;color:var(--muted);font-size:14px;}
.main-nav a .p{color:var(--dim);}
.main-nav a:hover{color:var(--fg-strong);background:var(--panel-2);}
.main-nav a[aria-current="page"]{color:var(--fg-strong);background:var(--panel-2);box-shadow:inset 0 0 0 1px var(--rule);}
.main-nav a[aria-current="page"] .p{color:var(--green);}
.header-actions{display:flex;gap:6px;}
.icon-btn{
  display:inline-grid;place-items:center;width:38px;height:38px;border-radius:9px;
  background:var(--panel);color:var(--fg);border:1px solid var(--rule);cursor:pointer;
  font:inherit;font-size:14px;font-weight:700;transition:background .15s,color .15s,border-color .15s,transform .15s;
}
.icon-btn:hover{background:var(--panel-2);color:var(--yellow);border-color:var(--rule-2);}
.icon-btn:active{transform:scale(.95);}
.icon-btn svg{width:18px;height:18px;}
.icon-btn .pdf-icon{width:22px;height:22px;}
/* Farbschema: drei Buttons als Gruppe */
.theme-switch{display:inline-flex;align-items:center;gap:2px;padding:2px;border-radius:10px;background:var(--panel);border:1px solid var(--rule);}
.theme-switch button{display:grid;place-items:center;width:32px;height:32px;border-radius:7px;border:0;background:transparent;color:var(--muted);cursor:pointer;transition:background .15s,color .15s;}
.theme-switch button svg{width:17px;height:17px;}
.theme-switch button:hover{color:var(--yellow);}
.theme-switch button[aria-pressed="true"]{background:var(--panel-3);color:var(--fg-strong);box-shadow:inset 0 0 0 1px var(--rule-2);}


/* ---------- Fensterrahmen (Terminal-Optik) ---------- */
.window{background:var(--panel);border:1px solid var(--rule);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden;}
.window-bar{display:flex;align-items:center;gap:8px;padding:10px 14px;background:var(--panel-2);border-bottom:1px solid var(--rule);font-size:12.5px;color:var(--muted);}
.dots{display:flex;gap:7px;margin-right:6px;}
.dots i{width:11px;height:11px;border-radius:50%;background:var(--red);}
.dots i:nth-child(2){background:var(--orange);} .dots i:nth-child(3){background:var(--green);}
:root[data-theme="light"] .dots i{background:#f7768e;} :root[data-theme="light"] .dots i:nth-child(2){background:#e0af68;} :root[data-theme="light"] .dots i:nth-child(3){background:#9ece6a;}
.window-bar .title{flex:1;text-align:center;margin-right:52px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.window-body{padding:clamp(18px,3vw,28px);}

/* Prompt-Zeilen */
.prompt-line{margin:0 0 .6em;font-size:14px;color:var(--fg);white-space:pre-wrap;word-break:break-word;}
.prompt-line .arrow{color:var(--green);}
.prompt-line .path{color:var(--blue);}
.prompt-line .cmd{color:var(--fg-strong);}
.prompt-line .arg{color:var(--orange);}
.prompt-line .comment{color:var(--dim);font-style:italic;}
.cursor{display:inline-block;width:.6em;height:1.1em;vertical-align:-3px;background:var(--fg);margin-left:3px;animation:blink 1.1s step-start infinite;}
@keyframes blink{50%{opacity:0;}}

/* ---------- Hero ---------- */
.hero{padding-block:clamp(32px,7vw,80px) clamp(28px,5vw,56px);}
.hero-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:clamp(24px,4vw,48px);align-items:center;}
.hero .kicker{display:inline-flex;align-items:center;gap:8px;font-size:12.5px;color:var(--green);background:color-mix(in srgb,var(--green) 12%,transparent);border:1px solid color-mix(in srgb,var(--green) 30%,transparent);padding:4px 12px;border-radius:999px;margin-bottom:18px;}
.hero .kicker .pulse{width:8px;height:8px;border-radius:50%;background:var(--green);box-shadow:0 0 0 0 var(--green);animation:pulse 2s infinite;}
@keyframes pulse{0%{box-shadow:0 0 0 0 color-mix(in srgb,var(--green) 60%,transparent);}70%{box-shadow:0 0 0 10px transparent;}100%{box-shadow:0 0 0 0 transparent;}}
.hero h1{font-size:clamp(28px,4.6vw,50px);line-height:1.12;margin:.2em 0 .45em;letter-spacing:-.025em;}
.hero h1 .grad{background:linear-gradient(90deg,var(--blue),var(--purple) 55%,var(--cyan));-webkit-background-clip:text;background-clip:text;color:transparent;}
.hero .name-line{font-size:clamp(16px,2vw,19px);color:var(--fg-strong);font-weight:600;margin:0;}
.hero .name-line .sep{color:var(--dim);}
.hero .name-line .role{color:var(--purple);}
.hero .lead{font-size:clamp(14.5px,1.6vw,16px);color:var(--muted);max-width:58ch;margin:0 0 1.6em;}
.type-target{min-height:1.7em;}
.btn-row{display:flex;flex-wrap:wrap;gap:12px;}
.btn{
  display:inline-flex;align-items:center;gap:10px;padding:11px 18px;border-radius:10px;border:1px solid var(--rule-2);
  background:var(--panel);color:var(--fg-strong);font:inherit;font-size:14px;font-weight:600;cursor:pointer;
  transition:transform .15s,background .15s,border-color .15s,color .15s,box-shadow .15s;
}
.btn:hover{transform:translateY(-2px);border-color:var(--blue);color:var(--fg-strong);box-shadow:0 10px 26px -14px var(--blue);}
.btn .p{color:var(--green);}
.btn.primary{background:linear-gradient(135deg,var(--blue),var(--purple));color:#16161e;border-color:transparent;}
.btn.primary .p{color:#16161e;opacity:.6;}
.btn.primary:hover{color:#16161e;box-shadow:0 12px 30px -12px var(--purple);}

.portrait{position:relative;max-width:420px;justify-self:end;width:100%;}
.portrait .window-body{padding:0;position:relative;}
.portrait img{width:100%;aspect-ratio:814/928;object-fit:cover;filter:grayscale(1) contrast(1.05);transition:filter .6s;}
.portrait:hover img{filter:grayscale(.2) contrast(1.05);}
.portrait .window-body::after{ /* Scanlines */
  content:"";position:absolute;inset:0;pointer-events:none;
  background:repeating-linear-gradient(0deg,rgba(0,0,0,.12) 0 1px,transparent 1px 3px);
  mix-blend-mode:multiply;opacity:.5;
}
.portrait-caption{position:absolute;left:14px;right:14px;bottom:14px;z-index:1;padding:10px 12px;border-radius:9px;font-size:12.5px;
  background:color-mix(in srgb,#16161e 82%,transparent);color:#c0caf5;border:1px solid rgba(255,255,255,.08);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);}
.portrait-caption .k{color:#e0af68;} .portrait-caption .v{color:#9ece6a;}
.portrait::before{content:"";position:absolute;inset:-18px -18px auto auto;width:70%;height:70%;border-radius:24px;z-index:-1;
  background:linear-gradient(135deg,var(--purple),var(--blue));opacity:.28;filter:blur(40px);}

.stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:clamp(28px,4vw,44px);}
.stat{padding:16px 18px;border-radius:var(--radius);background:var(--panel);border:1px solid var(--rule);}
.stat .num{display:block;font-size:clamp(22px,3vw,30px);font-weight:800;color:var(--fg-strong);line-height:1.1;}
.stat .num .plus{color:var(--green);}
.stat .lbl{font-size:12.5px;color:var(--muted);}

/* ---------- Sektionen ---------- */
.section{padding-block:clamp(36px,6vw,72px);}
.section-head{margin-bottom:clamp(20px,3vw,32px);}
.section-head .prompt-line{margin-bottom:.35em;}
.section-head h2{font-size:clamp(22px,3vw,30px);}
.section-head h2 .hash{color:var(--dim);font-weight:400;margin-right:.3em;}
.section-head .sub{color:var(--muted);margin:.5em 0 0;max-width:70ch;}

.about-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(18px,3vw,28px);}
.about-text p{font-size:15.5px;}
.about-text p:last-child{margin-bottom:0;}
.about-text .hl{color:var(--fg-strong);}
.values{display:grid;gap:12px;align-content:start;}
.value{display:flex;gap:14px;padding:16px 18px;border-radius:var(--radius);background:var(--panel);border:1px solid var(--rule);transition:border-color .2s,transform .2s;}
.value:hover{border-color:var(--rule-2);transform:translateX(3px);}
.value .ico{flex-shrink:0;width:36px;height:36px;display:grid;place-items:center;border-radius:9px;background:var(--panel-2);font-weight:800;}
.value h3{font-size:15px;margin-bottom:2px;}
.value p{margin:0;font-size:13.5px;color:var(--muted);}

/* Toolchain */
.tool-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(128px,1fr));gap:14px;margin-top:22px;}
.tool{
  position:relative;display:flex;flex-direction:column;align-items:center;gap:12px;padding:20px 14px 16px;border-radius:var(--radius);
  background:var(--panel);border:1px solid var(--rule);color:var(--fg);text-align:center;overflow:hidden;
  transition:transform .2s,border-color .2s,box-shadow .2s;
}
.tool::before{content:"";position:absolute;inset:0;background:radial-gradient(260px 120px at 50% 0%,var(--glow),transparent 70%);opacity:0;transition:opacity .25s;}
.tool:hover{transform:translateY(-4px);border-color:var(--blue);box-shadow:0 16px 34px -18px var(--blue);color:var(--fg-strong);}
.tool:hover::before{opacity:1;}
.tool .logo{position:relative;width:72px;height:72px;display:grid;place-items:center;border-radius:14px;background:#fff;padding:10px;}
.tool .logo img{width:100%;height:100%;object-fit:contain;}
.tool .logo.ascii{background:var(--panel-2);color:var(--c,var(--green));font-weight:800;font-size:20px;border:1px solid var(--rule-2);transition:box-shadow .2s;}
.tool:hover .logo.ascii{box-shadow:0 0 0 3px color-mix(in srgb,var(--c,var(--green)) 25%,transparent);}
.tool .name{position:relative;font-weight:700;font-size:14px;}
.tool .desc{position:relative;font-size:12px;color:var(--muted);margin-top:-8px;}

/* Branchen-Chips */
.chips{display:flex;flex-wrap:wrap;gap:10px;}
.chip{
  display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:999px;font-size:13.5px;
  background:var(--panel);border:1px solid var(--rule);color:var(--fg);transition:all .18s;
}
.chip::before{content:"#";color:var(--c,var(--purple));font-weight:700;}
.chip:hover{border-color:var(--c,var(--purple));color:var(--fg-strong);background:color-mix(in srgb,var(--c,var(--purple)) 10%,var(--panel));transform:translateY(-2px);}

/* Projekte: git log */
.gitlog{list-style:none;margin:0;padding:0;position:relative;}
.gitlog li{position:relative;display:grid;grid-template-columns:22px 150px minmax(0,1fr);gap:0 14px;align-items:baseline;padding:9px 0;}
.gitlog li::before{content:"";position:absolute;left:10px;top:0;bottom:0;width:2px;background:var(--rule);}
.gitlog li:first-child::before{top:18px;} .gitlog li:last-child::before{bottom:calc(100% - 18px);}
.gitlog .node{position:relative;z-index:1;width:12px;height:12px;margin-left:5px;border-radius:50%;background:var(--panel);border:2px solid var(--orange);transform:translateY(1px);}
.gitlog li:first-child .node{background:var(--green);border-color:var(--green);box-shadow:0 0 0 4px color-mix(in srgb,var(--green) 22%,transparent);}
.gitlog .when{font-size:13px;color:var(--orange);white-space:nowrap;}
.gitlog .what{border:0;color:var(--fg);}
.gitlog .what:hover{color:var(--yellow);}
.gitlog .what .br{color:var(--purple);font-size:12.5px;}
.gitlog .head{color:var(--green);font-size:12px;font-weight:700;margin-right:6px;}
.gitlog li.is-hidden{display:none;}
.gitlog-more{margin-top:14px;}

/* Autoren */
.author-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;}
.author{display:flex;flex-direction:column;padding:22px;border-radius:var(--radius);background:var(--panel);border:1px solid var(--rule);transition:border-color .2s,transform .2s;}
.author:hover{border-color:var(--purple);transform:translateY(-3px);}
.author-top{display:flex;align-items:center;gap:14px;margin-bottom:14px;}
.author-top a{border:0;flex-shrink:0;}
.avatar{display:grid;place-items:center;width:64px;height:64px;border-radius:50%;font-weight:800;font-size:19px;color:var(--c);
  background:color-mix(in srgb,var(--c) 14%,var(--panel-2));border:2px solid color-mix(in srgb,var(--c) 45%,transparent);transition:transform .3s;}
.author:hover .avatar{transform:rotate(-6deg) scale(1.05);}
.author h3{font-size:16px;}
.author h3 a{border:0;color:var(--fg-strong);}
.author h3 a:hover{color:var(--yellow);}
.author .handle{font-size:12px;color:var(--muted);}
.author ul{list-style:none;padding:0;margin:0;display:grid;gap:6px;font-size:13.5px;}
.author li::before{content:"› ";color:var(--purple);}

/* Bücher */
.shelf-tools{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between;margin-bottom:16px;}
.grep{display:flex;align-items:center;gap:8px;flex:1 1 280px;max-width:460px;padding:9px 14px;border-radius:10px;background:var(--panel);border:1px solid var(--rule);transition:border-color .15s;}
.grep:focus-within{border-color:var(--blue);}
.grep label{color:var(--green);font-size:13.5px;white-space:nowrap;}
.grep input{flex:1;min-width:0;background:transparent;border:0;color:var(--fg-strong);font:inherit;font-size:14px;outline:none;}
.grep input::placeholder{color:var(--dim);}
.count{font-size:12.5px;color:var(--muted);}
.book-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}
.book{display:flex;gap:14px;align-items:flex-start;padding:14px 16px;border-radius:var(--radius-sm);background:var(--panel);border:1px solid var(--rule);transition:border-color .2s;}
.book:hover{border-color:var(--rule-2);}
.book .spine{flex-shrink:0;width:8px;align-self:stretch;border-radius:3px;background:var(--c,var(--blue));opacity:.85;}
.book .t{font-size:14px;color:var(--fg-strong);}
.book .t a{color:var(--fg-strong);border-color:var(--rule-2);}
.book .t a:hover{color:var(--yellow);border-color:var(--yellow);}
.book .isbn{display:block;font-size:12px;color:var(--muted);margin-top:4px;}
.book .isbn b{color:var(--orange);font-weight:500;}
.book[hidden]{display:none;}
.empty-note{color:var(--muted);font-size:13.5px;margin-top:10px;}
mark{background:color-mix(in srgb,var(--yellow) 30%,transparent);color:inherit;border-radius:2px;padding:0 1px;}

/* Kontakt */
.contact-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(18px,3vw,28px);align-items:start;}
.contact-list{list-style:none;padding:0;margin:0 0 18px;display:grid;gap:10px;}
.contact-item{display:flex;align-items:center;gap:14px;padding:14px 16px;border-radius:var(--radius-sm);background:var(--panel-2);border:1px solid var(--rule);}
.contact-item .k{color:var(--orange);min-width:50px;font-size:13px;}
.contact-item a{font-weight:600;word-break:break-all;}
.vcard-card{display:flex;align-items:center;gap:18px;padding:16px;margin:0 0 18px;border-radius:var(--radius-sm);background:var(--panel-2);border:1px solid var(--rule);}
.vcard-card .qr{flex-shrink:0;width:128px;height:128px;border-radius:8px;background:#fff;}   /* dunkel auf weiß – in jedem Farbschema scanbar */
.vcard-card .k{margin:0 0 4px;color:var(--orange);font-size:13px;}
.vcard-card p{margin:0 0 12px;}
.vcard-card .tb-btn{display:inline-block;}
.vcard-sep{max-width:560px;margin:clamp(28px,4vw,40px) 0 0;border:0;border-top:1px solid var(--rule);}
.copy-btn{margin-left:auto;background:transparent;border:1px solid var(--rule-2);color:var(--muted);font:inherit;font-size:12px;padding:4px 10px;border-radius:6px;cursor:pointer;flex-shrink:0;}
.copy-btn:hover{color:var(--yellow);border-color:var(--yellow);}
.copy-btn.done{color:var(--green);border-color:var(--green);}


/* ---------- Seitenkopf Unterseiten ---------- */
.page-head{padding-block:clamp(32px,6vw,64px) clamp(16px,3vw,28px);}
.page-head h1{font-size:clamp(28px,4.4vw,44px);letter-spacing:-.02em;}
.page-head h1 .accent{color:var(--purple);font-weight:400;font-size:.55em;display:block;margin-top:.35em;letter-spacing:0;}
.page-head .lead{color:var(--muted);max-width:70ch;margin:.9em 0 0;}

/* ---------- Lebenslauf ---------- */
.cv-toolbar{
  position:sticky;top:calc(var(--header-h) + env(safe-area-inset-top,0px));z-index:20;
  display:flex;flex-wrap:wrap;gap:10px;align-items:center;padding:12px 0;margin-bottom:4px;
  background:color-mix(in srgb,var(--bg) 88%,transparent);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
}
.cv-toolbar .grep{flex:0 1 50%;max-width:50%;}
.cv-listhead{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;margin:0 0 12px;}
.cv-listhead .tb-btns{margin-left:auto;justify-content:flex-end;}
/* Suchtreffer im Werdegang */
.job mark.hl{background:rgba(224,214,138,.30);color:var(--fg-strong);border-radius:3px;padding:0 1px;box-shadow:0 0 0 1px rgba(224,214,138,.35);}
:root[data-theme="light"] .job mark.hl,:root[data-theme="win11"] .job mark.hl{background:#ffe066;color:#000;box-shadow:none;}
:root[data-theme="mono"] .job mark.hl{background:#e6e6e6;color:#000;box-shadow:none;}
:root[data-theme="win95"] .job mark.hl{background:#000080;color:#fff;box-shadow:none;}
.hitcount{color:var(--yellow);font-weight:600;}
.hitcount::after{content:"⌕ " attr(data-n) " Treffer";}
.hitcount[hidden]{display:none;}
:root[data-theme="light"] .hitcount,:root[data-theme="win11"] .hitcount{color:#9d5d00;}
.cv-count{margin:0;padding-left:30px;font-size:12.5px;color:var(--muted);}
.cv-count .hash{color:var(--dim);}
.tb-btns{display:flex;gap:8px;flex-wrap:wrap;}
.tb-btn{padding:8px 12px;border-radius:9px;background:var(--panel);border:1px solid var(--rule);color:var(--muted);font:inherit;font-size:13px;cursor:pointer;transition:all .15s;}
.tb-btn:hover{color:var(--fg-strong);border-color:var(--rule-2);}
.tb-btn .p{color:var(--green);}
/* Branchen-Chips: immer eine Reihe; bei Platzmangel horizontal scrollbar mit Ausblendeffekt */
.filter-chips{display:flex;flex-wrap:nowrap;gap:6px;margin:0 0 16px;overflow-x:auto;scrollbar-width:none;scroll-behavior:smooth;padding:2px 0;}
.filter-chips::-webkit-scrollbar{display:none;}
.filter-chips.fade-right{-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 56px),transparent);mask-image:linear-gradient(90deg,#000 calc(100% - 56px),transparent);}
.filter-chips.fade-left{-webkit-mask-image:linear-gradient(90deg,transparent,#000 56px);mask-image:linear-gradient(90deg,transparent,#000 56px);}
.filter-chips.fade-left.fade-right{-webkit-mask-image:linear-gradient(90deg,transparent,#000 56px,#000 calc(100% - 56px),transparent);mask-image:linear-gradient(90deg,transparent,#000 56px,#000 calc(100% - 56px),transparent);}
.fchip{flex-shrink:0;white-space:nowrap;padding:6px 10px;border-radius:999px;background:var(--panel);border:1px solid var(--rule);color:var(--muted);font:inherit;font-size:12.5px;cursor:pointer;transition:all .15s;}
.fchip:hover{color:var(--fg-strong);border-color:var(--rule-2);}
.fchip[aria-pressed="true"]{color:#16161e;background:var(--purple);border-color:var(--purple);font-weight:600;}

.timeline{position:relative;list-style:none;margin:0;padding:0 0 0 30px;}
.timeline::before{content:"";position:absolute;left:9px;top:8px;bottom:8px;width:2px;background:linear-gradient(var(--green),var(--blue) 30%,var(--purple) 70%,var(--rule));border-radius:2px;}
.job{position:relative;margin-bottom:14px;}
.job::before{content:"";position:absolute;left:-26px;top:24px;width:12px;height:12px;border-radius:50%;background:var(--bg);border:2px solid var(--blue);z-index:1;transition:background .2s,box-shadow .2s;}
.job:first-child::before{border-color:var(--green);background:var(--green);}
.job[hidden]{display:none;}
.job details{background:var(--panel);border:1px solid var(--rule);border-radius:var(--radius);transition:border-color .2s,box-shadow .2s;}
.job details:hover{border-color:var(--rule-2);}
.job details[open]{border-color:color-mix(in srgb,var(--blue) 50%,var(--rule));box-shadow:var(--shadow);}
.job:has(details[open])::before{background:var(--blue);box-shadow:0 0 0 5px var(--glow);}
.job summary{list-style:none;cursor:pointer;padding:18px 20px;border-radius:var(--radius);}
.job summary::-webkit-details-marker{display:none;}
.job .meta{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:12.5px;color:var(--muted);margin-bottom:6px;}
.job .meta .date{color:var(--orange);font-weight:600;}
.job .meta .role{color:var(--green);}
.job .meta .branch{color:var(--purple);}
.job h2{font-size:clamp(15.5px,1.9vw,18px);margin:0 0 10px;}
/* Technologien in Projektkarten: reiner Text (nicht klickbar), mit Punkt getrennt */
.tags{display:flex;flex-wrap:wrap;gap:2px 0;margin:0;font-size:12.5px;line-height:1.6;}
.tag{color:var(--muted);}
.tag:not(:last-child)::after{content:"·";color:var(--dim);margin:0 8px;}
.job .toggle{display:inline-block;margin-top:12px;font-size:12.5px;color:var(--cyan);}
.job .toggle::before{content:"$ ";color:var(--dim);}
.job .toggle::after{content:"less --expand";}
.job details[open] .toggle::after{content:"less --collapse";}
.job-body{padding:0 20px 22px;border-top:1px dashed var(--rule);margin:0 20px;padding-inline:0;padding-top:18px;}
.job-body .intro{color:var(--fg);font-size:14.5px;max-width:80ch;}
.job-body h3{font-size:13px;color:var(--orange);font-weight:600;margin:18px 0 10px;text-transform:uppercase;letter-spacing:.06em;}
.tech-table{display:grid;grid-template-columns:minmax(150px,230px) minmax(0,1fr);gap:0;border:1px solid var(--rule);border-radius:var(--radius-sm);overflow:hidden;font-size:13px;}
.tech-table dt,.tech-table dd{margin:0;padding:8px 12px;border-top:1px solid var(--rule);}
.tech-table dt:first-of-type,.tech-table dt:first-of-type + dd{border-top:0;}
.tech-table dt{color:var(--muted);background:var(--panel-2);}
.tech-table dd a{color:var(--fg-strong);border-color:var(--rule-2);}
.tech-table dd a:hover{color:var(--yellow);border-color:var(--yellow);}
.tasks{list-style:none;padding:0;margin:0;display:grid;gap:10px;}
.tasks > li{position:relative;padding-left:22px;font-size:14px;}
.tasks > li::before{content:"✓";position:absolute;left:0;top:0;color:var(--green);font-weight:700;}
.tasks > li b.tt{color:var(--fg-strong);}
.tasks ul{margin:6px 0 0;padding-left:18px;list-style:"– ";}
.tasks ul li{margin-bottom:4px;color:var(--fg);}
.tasks ul li::marker{color:var(--purple);}
.job-body i{color:var(--fg-strong);}
.job-foot{display:flex;justify-content:flex-end;margin-top:16px;}
.job-foot button{background:transparent;border:0;color:var(--muted);font:inherit;font-size:12.5px;cursor:pointer;padding:4px 0;}
.job-foot button:hover{color:var(--yellow);}
.anchor-alias{position:relative;top:-90px;display:block;height:0;overflow:hidden;}

/* Popup: letzte Projekte */
dialog.modal{width:min(860px,calc(100vw - 32px));max-height:calc(100vh - 48px);padding:0;border:0;background:transparent;color:var(--fg);overflow:visible;}
dialog.modal::backdrop{background:rgba(10,11,18,.6);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);}
dialog.modal[open]{animation:termIn .22s ease-out;}
dialog.modal .window{display:flex;flex-direction:column;max-height:calc(100vh - 48px);}
dialog.modal .window-bar .title{margin-right:0;}
dialog.modal .close{background:transparent;border:0;color:var(--muted);font:inherit;font-size:13px;cursor:pointer;padding:2px 6px;border-radius:5px;}
dialog.modal .close:hover{color:var(--yellow);background:var(--panel-3);}
.modal-body{overflow-y:auto;padding:clamp(18px,3vw,26px);overscroll-behavior:contain;}
.modal-title{font-size:clamp(18px,2.4vw,22px);margin-bottom:4px;}
.modal-title:focus{outline:none;}
.modal-sub{color:var(--muted);font-size:13px;margin:0 0 14px;}
.tech-cloud{display:flex;flex-wrap:wrap;gap:7px;padding-bottom:14px;}
.tech-status{min-height:1.2em;margin:0 0 18px;padding-bottom:14px;border-bottom:1px dashed var(--rule-2);font-size:12.5px;color:var(--green);}
.tech-btn{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:7px;background:var(--panel-2);border:1px solid var(--rule);color:var(--cyan);font:inherit;font-size:12.5px;cursor:pointer;transition:all .15s;}
.tech-btn:hover{border-color:var(--cyan);color:var(--fg-strong);}
.tech-btn .n{font-size:11px;color:var(--muted);}
.tech-btn[aria-pressed="true"]{background:var(--cyan);border-color:var(--cyan);color:var(--bg);font-weight:600;}
.tech-btn[aria-pressed="true"] .n{color:var(--bg);opacity:.7;}
.tech-reset{background:transparent;border:1px dashed var(--rule-2);color:var(--muted);}
.tech-btn[hidden]{display:none;}
.recent-list{list-style:none;margin:0;padding:0;display:grid;gap:12px;}
.recent-card{padding:16px 18px;border-radius:var(--radius);background:var(--bg-deep);border:1px solid var(--rule);transition:opacity .2s,border-color .2s,transform .2s;}
.recent-card.is-match{border-color:var(--cyan);}
.recent-card.is-dim{opacity:.35;}
.recent-card .meta{display:flex;flex-wrap:wrap;gap:4px 14px;font-size:12.5px;color:var(--muted);margin-bottom:6px;}
.recent-card .date{color:var(--orange);font-weight:600;}
.recent-card .role{color:var(--green);} .recent-card .branch{color:var(--purple);}
.recent-card h3{font-size:15.5px;margin:0 0 8px;}
.recent-card p{font-size:13.5px;margin:0 0 10px;}
.recent-card .tags{margin-bottom:10px;}
.recent-card .tag.hit{color:var(--yellow);font-weight:700;}
.recent-card .more-link{font-size:13px;}
.no-results{display:none;padding:28px;text-align:center;color:var(--muted);border:1px dashed var(--rule-2);border-radius:var(--radius);}
.no-results.show{display:block;}

/* ---------- Impressum ---------- */
.legal{max-width:720px;}
.prose h2{font-size:15px;color:var(--orange);margin:1.6em 0 .5em;}
.prose h2:first-child{margin-top:0;}
.prose p{font-size:14.5px;}
.prose p:last-child{margin-bottom:0;}
.prose code{font-size:.92em;padding:1px 6px;border-radius:5px;background:var(--panel-2);color:var(--cyan);}
.kv{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px 18px;margin:0;font-size:14.5px;}
.kv dt{color:var(--orange);}
.kv dd{margin:0;color:var(--fg-strong);}

/* ---------- Footer ---------- */
.site-footer{margin-top:clamp(40px,6vw,80px);border-top:1px solid var(--rule);padding-block:28px calc(28px + env(safe-area-inset-bottom,0px));font-size:13px;color:var(--muted);}
.footer-inner{display:flex;flex-wrap:wrap;gap:14px 28px;align-items:center;justify-content:space-between;}
.footer-inner .who strong{color:var(--fg-strong);}
.footer-inner nav ul{display:flex;flex-wrap:wrap;gap:6px 18px;list-style:none;margin:0;padding:0;}
.footer-inner nav a{border:0;color:var(--muted);}
.footer-inner nav a:hover{color:var(--yellow);}
.kbd{display:inline-block;padding:1px 7px;border-radius:5px;border:1px solid var(--rule-2);border-bottom-width:2px;background:var(--panel);font-size:12px;color:var(--fg-strong);}

/* ---------- Terminal-Overlay ---------- */
.term-fab{
  position:fixed;right:max(18px,env(safe-area-inset-right,0px));bottom:calc(18px + env(safe-area-inset-bottom,0px));z-index:60;
  display:flex;align-items:center;gap:8px;padding:12px 16px;border-radius:12px;border:1px solid var(--rule-2);
  background:var(--panel);color:var(--green);font:inherit;font-weight:700;font-size:14px;cursor:pointer;
  box-shadow:0 14px 30px -12px rgba(0,0,0,.6);transition:transform .2s,border-color .2s;
}
.term-fab:hover{transform:translateY(-3px);border-color:var(--green);}
.term-fab .lbl{color:var(--fg);font-weight:500;font-size:13px;}
dialog.term{
  width:min(820px,calc(100vw - 32px));max-height:min(620px,calc(100vh - 64px));padding:0;border:0;background:transparent;color:var(--fg);
  overflow:visible;
}
dialog.term::backdrop{background:rgba(10,11,18,.6);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);}
dialog.term[open]{animation:termIn .22s ease-out;}
@keyframes termIn{from{opacity:0;transform:translateY(14px) scale(.98);}to{opacity:1;transform:none;}}
dialog.term .window{display:flex;flex-direction:column;max-height:min(620px,calc(100vh - 64px));background:#16161e;border-color:#292e42;color:#c0caf5;}
dialog.term .window-bar{background:#1f2335;border-color:#292e42;color:#7a83ad;}
dialog.term .window-bar .title{margin-right:0;}
dialog.term .close{background:transparent;border:0;color:#7a83ad;font:inherit;font-size:13px;cursor:pointer;padding:2px 6px;border-radius:5px;}
/* Fensterknöpfe: Schließen / Minimieren / Maximieren (macOS-Stil, Symbole beim Überfahren) */
.win-ctrl .wc{position:relative;width:12px;height:12px;padding:0;border:0;border-radius:50%;cursor:pointer;display:grid;place-items:center;
  color:transparent;font:700 10px/1 -apple-system,system-ui,sans-serif;}
.win-ctrl .wc-close{background:#f7768e;} .win-ctrl .wc-min{background:#e0af68;} .win-ctrl .wc-max{background:#9ece6a;}
.win-ctrl .wc-close::before{content:"×";} .win-ctrl .wc-min::before{content:"−";} .win-ctrl .wc-max::before{content:"+";}
dialog.is-max .win-ctrl .wc-max::before{content:"–";}
/* Popup: maximiert / minimiert (nur Titelleiste, unten links geparkt) */
dialog.modal.is-max{inset:0;width:auto;height:auto;max-width:none;max-height:none;margin:0;}
dialog.modal.is-max .window{height:100%;max-height:none;border-radius:0 !important;border:0;}
dialog.modal .window-bar{user-select:none;}
dialog.modal.is-min{position:fixed;inset:auto auto calc(16px + env(safe-area-inset-bottom,0px)) 16px;width:min(380px,calc(100vw - 32px));max-height:none;margin:0;z-index:70;}
dialog.modal.is-min .modal-body{display:none;}
dialog.modal.is-min .window{max-height:none;box-shadow:0 14px 30px -12px rgba(0,0,0,.6);}
dialog.modal.is-min .window-bar{cursor:pointer;border-bottom:0;}
.win-ctrl:hover .wc,.win-ctrl .wc:focus-visible{color:rgba(0,0,0,.6);}
dialog.term .window-bar{user-select:none;}
/* Maximiert: so groß wie das Browserfenster */
dialog.term.is-max{inset:0;width:auto;height:auto;max-width:none;max-height:none;margin:0;}
dialog.term.is-max .window,dialog.term.is-max .window.pager-open{height:100%;max-height:none;border-radius:0 !important;border:0;}
/* Minimieren: in den Terminal-Button unten rechts "einsaugen" */
dialog.term.minimizing{animation:termMin .22s ease-in forwards;}
@keyframes termMin{to{opacity:0;transform:translate(38vw,42vh) scale(.08);}}
.term-fab.has-session::after{content:"";position:absolute;top:6px;right:6px;width:7px;height:7px;border-radius:50%;background:#9ece6a;box-shadow:0 0 0 2px var(--panel);}
dialog.term .close:hover{color:#e0d68a;background:#24283b;}
.term-screen{flex:1;overflow-y:auto;padding:16px 20px 20px;font-size:14px;line-height:1.6;overscroll-behavior:contain;}
.term-screen .line{white-space:pre-wrap;word-break:break-word;margin:0 0 2px;}
.term-screen .out{margin:0 0 10px;white-space:pre-wrap;word-break:break-word;}
.term-screen .err{color:#f7768e;} .term-screen .ok{color:#9ece6a;} .term-screen .dim{color:#565f89;}
.term-screen .k{color:#e0af68;} .term-screen .b{color:#7aa2f7;} .term-screen .p{color:#bb9af7;} .term-screen .c{color:#7dcfff;} .term-screen .g{color:#9ece6a;}
.term-screen a{color:#7dcfff;border-color:rgba(125,207,255,.35);}
.term-screen a:hover{color:#e0d68a;border-color:#e0d68a;}
.term-input{display:flex;align-items:center;gap:8px;}
.term-input .arrow{color:#9ece6a;} .term-input .path{color:#7aa2f7;}
.term-input input{flex:1;min-width:0;background:transparent;border:0;outline:none;color:#e2e7ff;font:inherit;caret-color:#c0caf5;padding:0;}
/* Auto-Vorschlag: grauer "Geistertext" hinter dem Cursor */
.term-field{position:relative;flex:1;min-width:0;display:flex;align-items:center;}
.term-field input{position:relative;z-index:1;}
.term-ghost{position:absolute;left:0;right:0;top:50%;transform:translateY(-50%);white-space:pre;overflow:hidden;pointer-events:none;color:#565f89;font:inherit;}
.term-ghost .typed{visibility:hidden;}
/* Dateibetrachter (less / more / vim) mit Zeilennummern */
dialog.term .window.pager-open{height:min(620px,calc(100vh - 64px));}
.pager{flex:1;display:flex;flex-direction:column;min-height:0;outline:none;}
.pager[hidden],.term-suggest[hidden]{display:none;}
.pager-body{flex:1;min-height:0;overflow-y:auto;padding:12px 16px 12px 8px;font-size:14px;line-height:1.6;overscroll-behavior:contain;}
.pager .pl{display:grid;grid-template-columns:auto minmax(0,1fr);gap:14px;}
.pager .ln{color:#565f89;text-align:right;white-space:pre;user-select:none;min-width:3ch;}
.pager .tx{color:#c0caf5;white-space:pre-wrap;word-break:break-word;}
.pager .vim-end .tx{color:#3b4261;}
.pager-status{flex-shrink:0;padding:4px 14px;background:#c0caf5;color:#16161e;font-size:12.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
:root[data-theme="win95"] .pager{background:#000;margin:4px;box-shadow:var(--w-sunken);font-family:'Courier New',Courier,monospace;}
:root[data-theme="win95"] .pager *{font-family:inherit;}
:root[data-theme="win95"] .pager .tx{color:#c0c0c0;} :root[data-theme="win95"] .pager-status{background:#c0c0c0;color:#000;}
:root[data-theme="win11"] .pager{font-family:'Cascadia Mono','Cascadia Code',Consolas,var(--font);}
:root[data-theme="win11"] .pager *{font-family:inherit;}
.term-suggest{display:flex;flex-wrap:wrap;gap:6px;padding:10px 20px 14px;border-top:1px solid #292e42;}
.term-suggest button{background:#1f2335;border:1px solid #292e42;color:#7a83ad;font:inherit;font-size:12px;padding:4px 10px;border-radius:6px;cursor:pointer;}
.term-suggest button:hover{color:#e0d68a;border-color:#3b4261;}

/* ---------- Scroll-Animationen ---------- */
.reveal{opacity:0;transform:translateY(18px);transition:opacity .6s ease,transform .6s ease;}
.reveal.in{opacity:1;transform:none;}
.no-js .reveal{opacity:1;transform:none;}
/* Ohne JavaScript: Bedienelemente ausblenden, die nichts tun würden; ausgeklappte Inhalte zeigen */
.no-js [data-open-terminal],.no-js .theme-switch,.no-js .gitlog-more #gitlog-toggle,.no-js .shelf-tools .grep,
.no-js .cv-toolbar,.no-js .filter-chips,.no-js .cv-listhead button.tb-btn,.no-js .collapse-btn,.no-js .copy-btn,.no-js .js-only{display:none;}
.no-js .gitlog li.is-hidden{display:grid;}
.noscript-note{flex-basis:100%;margin:0;color:var(--dim);font-size:12.5px;}

/* ---------- Responsive ---------- */
@media (max-width:960px){
  .hero-grid{grid-template-columns:1fr;}
  .portrait{justify-self:start;max-width:360px;order:-1;}
  .about-grid,.contact-grid{grid-template-columns:1fr;}
  .author-grid{grid-template-columns:1fr;}
}
@media (max-width:720px){
  :root{--header-h:58px;}
  .header-inner{flex-wrap:wrap;gap:8px 12px;padding-block:8px;}
  .brand-text{display:none;}
  .main-nav{order:3;width:100%;margin-left:0;overflow-x:auto;scrollbar-width:none;}
  .main-nav::-webkit-scrollbar{display:none;}
  .main-nav a{padding:6px 10px;font-size:13px;white-space:nowrap;}
  .header-actions{margin-left:auto;}
  html{scroll-padding-top:120px;}
  .cv-toolbar{position:static;backdrop-filter:none;-webkit-backdrop-filter:none;background:transparent;}
  .cv-toolbar .grep{flex-basis:100%;max-width:none;}
  .main-nav a .p{display:none;}
  .portrait{max-width:280px;}
  .book-list{grid-template-columns:1fr;}
  .tool-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;}
  .tool{padding:14px 8px 12px;}
  .tool .logo{width:56px;height:56px;padding:8px;}
  .tool .logo.ascii{font-size:17px;}
  .gitlog li{grid-template-columns:22px minmax(0,1fr);}
  .gitlog .when{grid-column:2;}
  .gitlog .what{grid-column:2;}
  .tech-table{grid-template-columns:1fr;}
  .tech-table dt{border-top:1px solid var(--rule);}
  .tech-table dd{border-top:0;padding-top:2px;background:transparent;}
  .timeline{padding-left:22px;}
  .cv-count{padding-left:22px;}
  .timeline::before{left:5px;}
  .job::before{left:-22px;}
  .job summary{padding:16px;}
  .job-body{margin:0 16px;}
  .term-fab .lbl{display:none;}
}
@media (max-width:480px){
  .vcard-card{gap:14px;padding:14px;}
  .vcard-card .qr{width:96px;height:96px;}
  .vcard-card p{font-size:13px;}
  .vcard-card{align-items:flex-start;}
  .vcard-card .long{display:none;}
  body{font-size:14px;}
  .stats{grid-template-columns:1fr;}
  .stat{display:flex;align-items:baseline;gap:12px;}
  .window-bar .title{margin-right:0;}
}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important;}
  .reveal{opacity:1;transform:none;}
}

/* ==========================================================================
   Easter Egg: Windows-95/98-Retro-Look  (Terminal: theme win95)
   Nur Stil-Nachbau mit eigenen Mitteln – keine Original-Logos, -Grafiken oder -Schriften.
   ========================================================================== */
:root[data-theme="win95"]{
  --bg:#008080; --bg-deep:#ffffff; --panel:#c0c0c0; --panel-2:#d4d0c8; --panel-3:#dfdfdf;
  --fg:#000000; --fg-strong:#000000; --muted:#404040; --dim:#808080; --rule:#808080; --rule-2:#404040;
  --green:#008000; --blue:#000080; --purple:#800080; --orange:#806000; --red:#a00000; --cyan:#000080; --yellow:#000080; --teal:#008080;
  --link:#0000ee; --link-hover:#551a8b;
  --glow:transparent; --shadow:none; --radius:0; --radius-sm:0;
  --font:Tahoma,'MS Sans Serif',Geneva,Verdana,sans-serif;
  --w-raised:inset -1px -1px #0a0a0a,inset 1px 1px #ffffff,inset -2px -2px #808080,inset 2px 2px #dfdfdf;
  --w-sunken:inset -1px -1px #ffffff,inset 1px 1px #808080,inset -2px -2px #dfdfdf,inset 2px 2px #0a0a0a;
  --w-title:linear-gradient(90deg,#000080,#1084d0);
  color-scheme:light;
}
:root[data-theme="win95"] *{border-radius:0 !important;}
:root[data-theme="win95"] body{background:var(--bg);font-size:14px;}
:root[data-theme="win95"] body::before{display:none;}
:root[data-theme="win95"] ::selection{background:#000080;color:#fff;}
:root[data-theme="win95"] a{text-decoration:underline;border:0;}
:root[data-theme="win95"] :focus-visible{outline:1px dotted #000;outline-offset:-4px;}
:root[data-theme="win95"] .reveal{transform:none;}

/* Scrollbalken im Retro-Stil */
:root[data-theme="win95"] ::-webkit-scrollbar{width:16px;height:16px;}
:root[data-theme="win95"] ::-webkit-scrollbar-track{background:repeating-conic-gradient(#c0c0c0 0 25%,#ffffff 0 50%) 0 0/2px 2px;}
:root[data-theme="win95"] ::-webkit-scrollbar-thumb{background:#c0c0c0;box-shadow:var(--w-raised);}

/* Taskleiste (Kopfzeile) mit Start-Button */
:root[data-theme="win95"] .site-header,
:root[data-theme="win95"] .site-header.is-scrolled{background:#c0c0c0;backdrop-filter:none;-webkit-backdrop-filter:none;border-bottom:0;box-shadow:inset 0 1px #dfdfdf,inset 0 2px #fff,0 1px #0a0a0a;}
:root[data-theme="win95"] .brand{padding:3px 8px 3px 4px;background:#c0c0c0;box-shadow:var(--w-raised);font-family:var(--font);text-decoration:none;}
:root[data-theme="win95"] .brand:active{box-shadow:var(--w-sunken);}
:root[data-theme="win95"] .brand-mark{width:24px;height:24px;background:#000080;color:#fff;font-size:11px;box-shadow:none;}
:root[data-theme="win95"] .brand-text .tilde{color:#000;}
:root[data-theme="win95"] .brand-text .cur{display:none;}
:root[data-theme="win95"] .main-nav ul{gap:4px;}
:root[data-theme="win95"] .main-nav a{color:#000;background:#c0c0c0;box-shadow:var(--w-raised);text-decoration:none;padding:5px 12px;}
:root[data-theme="win95"] .main-nav a:hover{background:#c0c0c0;}
:root[data-theme="win95"] .main-nav a[aria-current="page"]{background:repeating-conic-gradient(#c0c0c0 0 25%,#ffffff 0 50%) 0 0/2px 2px;box-shadow:var(--w-sunken);font-weight:700;}
:root[data-theme="win95"] .main-nav a .p,
:root[data-theme="win95"] .main-nav a[aria-current="page"] .p{color:#000;}

/* Inhalt als großes Programmfenster auf dem Desktop */
:root[data-theme="win95"] main{display:block;position:relative;width:min(1180px,calc(100% - 20px));margin:12px auto;padding:22px 0 16px;background:#c0c0c0;box-shadow:var(--w-raised);}
:root[data-theme="win95"] main::before{content:"C:\\FARHAD\\HOME.EXE";position:absolute;top:3px;left:3px;right:3px;height:20px;padding:0 6px;background:var(--w-title);color:#fff;font:700 12px/20px var(--font);}
:root[data-theme="win95"] body[data-page="lebenslauf"] main::before{content:"C:\\FARHAD\\WERDEGANG.TXT – Editor";}
:root[data-theme="win95"] body[data-page="kontakt"] main::before{content:"C:\\FARHAD\\KONTAKT.TXT – Editor";}
:root[data-theme="win95"] main::after{content:"✕";position:absolute;top:5px;right:6px;width:16px;height:14px;background:#c0c0c0;box-shadow:var(--w-raised);color:#000;font:700 10px/14px var(--font);text-align:center;}
:root[data-theme="win95"] .site-footer{width:min(1180px,calc(100% - 20px));margin:0 auto 12px;padding-block:14px;background:#c0c0c0;box-shadow:var(--w-raised);border:0;color:#000;}
:root[data-theme="win95"] .footer-inner .who strong,
:root[data-theme="win95"] .footer-inner nav a{color:#000;}

/* Fenster, Karten und Buttons: erhabene 3D-Kanten */
:root[data-theme="win95"] .window,
:root[data-theme="win95"] .stat,
:root[data-theme="win95"] .value,
:root[data-theme="win95"] .tool,
:root[data-theme="win95"] .author,
:root[data-theme="win95"] .book,
:root[data-theme="win95"] .contact-item,
:root[data-theme="win95"] .job details,
:root[data-theme="win95"] .recent-card{background:#c0c0c0;border:0;box-shadow:var(--w-raised);}
:root[data-theme="win95"] .job details[open]{box-shadow:var(--w-raised);}
:root[data-theme="win95"] .recent-card.is-match{box-shadow:var(--w-raised),0 0 0 2px #000080;}
:root[data-theme="win95"] .btn,
:root[data-theme="win95"] .tb-btn,
:root[data-theme="win95"] .icon-btn,
:root[data-theme="win95"] .chip,
:root[data-theme="win95"] .fchip,
:root[data-theme="win95"] .tech-btn,
:root[data-theme="win95"] .copy-btn,
:root[data-theme="win95"] .term-fab,
:root[data-theme="win95"] .theme-switch button{background:#c0c0c0;color:#000;border:0;box-shadow:var(--w-raised);text-decoration:none;font-family:var(--font);}
:root[data-theme="win95"] .btn:active,
:root[data-theme="win95"] .tb-btn:active,
:root[data-theme="win95"] .icon-btn:active,
:root[data-theme="win95"] .chip:active,
:root[data-theme="win95"] .fchip[aria-pressed="true"],
:root[data-theme="win95"] .tech-btn[aria-pressed="true"],
:root[data-theme="win95"] .theme-switch button[aria-pressed="true"]{background:repeating-conic-gradient(#c0c0c0 0 25%,#ffffff 0 50%) 0 0/2px 2px;color:#000;box-shadow:var(--w-sunken);font-weight:700;}
:root[data-theme="win95"] .btn.primary{outline:1px solid #000;outline-offset:0;}
:root[data-theme="win95"] .btn .p,:root[data-theme="win95"] .tb-btn .p,:root[data-theme="win95"] .btn.primary .p{color:#000;opacity:1;}
:root[data-theme="win95"] .theme-switch{background:transparent;border:0;padding:0;gap:3px;}
:root[data-theme="win95"] .chip::before{color:#000080;}
:root[data-theme="win95"] .tech-btn .n,:root[data-theme="win95"] .tech-btn[aria-pressed="true"] .n{color:#404040;}
:root[data-theme="win95"] .tech-reset{box-shadow:var(--w-raised);}

/* Fenster-Titelleisten */
:root[data-theme="win95"] .window-bar{background:var(--w-title);border:0;margin:3px 3px 0;padding:3px 4px 3px 6px;color:#fff;font:700 12px var(--font);}
:root[data-theme="win95"] .window-bar .dots{display:none;}
:root[data-theme="win95"] .window-bar .title{text-align:left;margin:0;}
:root[data-theme="win95"] .window-bar::after{content:"✕";flex-shrink:0;width:16px;height:14px;margin-left:auto;background:#c0c0c0;box-shadow:var(--w-raised);color:#000;font:700 10px/14px var(--font);text-align:center;}
:root[data-theme="win95"] dialog .window-bar::after{display:none;}
:root[data-theme="win95"] dialog.modal .close,
:root[data-theme="win95"] dialog.term .close{margin-left:auto;padding:0 6px;background:#c0c0c0;color:#000;box-shadow:var(--w-raised);font:700 11px/16px var(--font);}
:root[data-theme="win95"] .window-body{background:#c0c0c0;}

/* Eingabefelder: vertieft und weiß */
:root[data-theme="win95"] .grep{background:#fff;border:0;box-shadow:var(--w-sunken);}
:root[data-theme="win95"] .grep label{color:#000;}
:root[data-theme="win95"] .grep input{color:#000;}

/* Details */
:root[data-theme="win95"] .hero h1 .grad{background:none;-webkit-text-fill-color:#000080;color:#000080;}
:root[data-theme="win95"] .hero .kicker{background:#c0c0c0;border:0;box-shadow:var(--w-raised);color:#000;}
:root[data-theme="win95"] .hero .kicker .pulse{background:#008000;animation:none;}
:root[data-theme="win95"] .portrait::before{display:none;}
:root[data-theme="win95"] .portrait .window-body{margin:0 3px 3px;box-shadow:var(--w-sunken);padding:2px;}
:root[data-theme="win95"] .portrait .window-body::after{display:none;}
:root[data-theme="win95"] .portrait-caption{background:#ffffe1;border:1px solid #000;color:#000;backdrop-filter:none;-webkit-backdrop-filter:none;font-family:var(--font);}
:root[data-theme="win95"] .portrait-caption .k{color:#000080;} :root[data-theme="win95"] .portrait-caption .v{color:#000;}
:root[data-theme="win95"] .tool .logo.ascii{background:#fff;box-shadow:var(--w-sunken);border:0;}
:root[data-theme="win95"] .avatar{background:#fff;border:0;box-shadow:var(--w-sunken);color:var(--c);}
:root[data-theme="win95"] .tech-table{border:0;box-shadow:var(--w-sunken);background:#fff;}
:root[data-theme="win95"] .tech-table dt{background:#d4d0c8;}
:root[data-theme="win95"] .timeline::before{background:#808080;}
:root[data-theme="win95"] .job::before{background:#c0c0c0;border:0;box-shadow:var(--w-raised);}
:root[data-theme="win95"] .job:has(details[open])::before{background:#000080;box-shadow:none;}
:root[data-theme="win95"] .gitlog .node{border-radius:0;}
:root[data-theme="win95"] .modal-body,:root[data-theme="win95"] dialog.modal .window{background:#c0c0c0;}
:root[data-theme="win95"] .modal-title:focus{outline:none;}
:root[data-theme="win95"] .cv-toolbar{background:#c0c0c0;backdrop-filter:none;-webkit-backdrop-filter:none;}

/* Terminal als MS-DOS-Eingabeaufforderung */
:root[data-theme="win95"] dialog.term .window{background:#c0c0c0;box-shadow:var(--w-raised);border:0;}
:root[data-theme="win95"] dialog.term .window-bar{background:var(--w-title);color:#fff;}
:root[data-theme="win95"] dialog .window-bar .dots.win-ctrl{display:flex;order:3;margin-left:auto;gap:2px;}
:root[data-theme="win95"] dialog .window-bar .title{order:1;}
:root[data-theme="win95"] dialog .close{display:none;}
:root[data-theme="win95"] .win-ctrl .wc{width:16px;height:14px;border-radius:0;background:#c0c0c0;box-shadow:var(--w-raised);color:#000;font:700 10px/14px var(--font);}
:root[data-theme="win95"] .win-ctrl .wc:active{box-shadow:var(--w-sunken);}
:root[data-theme="win95"] .win-ctrl .wc-min{order:1;} :root[data-theme="win95"] .win-ctrl .wc-max{order:2;} :root[data-theme="win95"] .win-ctrl .wc-close{order:3;margin-left:2px;}
:root[data-theme="win95"] .win-ctrl .wc-min::before{content:"_";} :root[data-theme="win95"] .win-ctrl .wc-max::before{content:"□";} :root[data-theme="win95"] .win-ctrl .wc-close::before{content:"✕";}
:root[data-theme="win95"] dialog.is-max .win-ctrl .wc-max::before{content:"❐";}
:root[data-theme="win95"] .term-screen{margin:4px;background:#000;color:#c0c0c0;box-shadow:var(--w-sunken);font-family:'Courier New',Courier,monospace;}
:root[data-theme="win95"] .term-screen *{font-family:inherit;}
:root[data-theme="win95"] .term-suggest{border-top:0;}
:root[data-theme="win95"] .term-suggest button{background:#c0c0c0;color:#000;border:0;box-shadow:var(--w-raised);font-family:var(--font);}
:root[data-theme="win95"] dialog::backdrop{background:rgba(0,0,0,.25);backdrop-filter:none;-webkit-backdrop-filter:none;}

/* ==========================================================================
   Easter Egg: Windows-11-/Fluent-Look  (Terminal: theme win11)
   Nur Stil-Nachbau mit eigenen Mitteln – kein Logo, kein Original-Wallpaper, keine mitgelieferten Schriften.
   ========================================================================== */
:root[data-theme="win11"]{
  --bg:#dde6f5; --bg-deep:#ffffff; --panel:#ffffff; --panel-2:#f9f9f9; --panel-3:#f0f0f0;
  --fg:#1b1b1b; --fg-strong:#111111; --muted:#5f5f5f; --dim:#8a8a8a; --rule:#e5e5e5; --rule-2:#d1d1d1;
  --green:#0f7b0f; --blue:#0067c0; --purple:#7a3ec8; --orange:#9d5d00; --red:#c42b1c; --cyan:#0067c0; --yellow:#003e92; --teal:#007a7a;
  --link:#0067c0; --link-hover:#003e92;
  --glow:rgba(0,103,192,.10); --shadow:0 8px 16px rgba(0,0,0,.10),0 0 2px rgba(0,0,0,.06); --radius:8px; --radius-sm:4px;
  --font:'Segoe UI Variable Text','Segoe UI',system-ui,-apple-system,'Helvetica Neue',Arial,sans-serif;
  --w11-card:rgba(255,255,255,.72); --w11-stroke:rgba(0,0,0,.07); --w11-stroke-strong:rgba(0,0,0,.16);
  color-scheme:light;
}
:root[data-theme="win11"] body{background:var(--bg);}
:root[data-theme="win11"] body::before{   /* eigener, weicher Farbverlauf als "Hintergrundbild" */
  opacity:1;
  background:
    radial-gradient(60vw 60vh at 78% 18%, rgba(76,132,255,.55), transparent 65%),
    radial-gradient(55vw 55vh at 18% 82%, rgba(146,98,255,.42), transparent 65%),
    radial-gradient(40vw 40vh at 55% 55%, rgba(120,200,255,.35), transparent 70%),
    linear-gradient(135deg,#e9eefb,#d7e1f7);
}
:root[data-theme="win11"] ::selection{background:#0067c0;color:#fff;}
:root[data-theme="win11"] :focus-visible{outline:2px solid #111;outline-offset:2px;border-radius:4px;}
:root[data-theme="win11"] ::-webkit-scrollbar{width:12px;height:12px;}
:root[data-theme="win11"] ::-webkit-scrollbar-thumb{background:rgba(0,0,0,.35);border:4px solid transparent;border-radius:8px;background-clip:padding-box;}
:root[data-theme="win11"] ::-webkit-scrollbar-track{background:transparent;}

/* Kopfzeile: Milchglas, aktive Seite mit blauem Balken */
:root[data-theme="win11"] .site-header,
:root[data-theme="win11"] .site-header.is-scrolled{background:rgba(243,243,243,.72);backdrop-filter:blur(30px) saturate(1.4);-webkit-backdrop-filter:blur(30px) saturate(1.4);border-bottom:1px solid var(--w11-stroke);}
:root[data-theme="win11"] .brand-mark{background:linear-gradient(135deg,#0067c0,#4f9cf0);color:#fff;border-radius:6px;box-shadow:none;}
:root[data-theme="win11"] .brand-text .tilde{color:#0067c0;}
:root[data-theme="win11"] .brand-text .cur{background:#0067c0;}
:root[data-theme="win11"] .main-nav a{position:relative;border-radius:4px;color:#1b1b1b;}
:root[data-theme="win11"] .main-nav a .p{color:var(--dim);}
:root[data-theme="win11"] .main-nav a:hover{background:rgba(0,0,0,.04);}
:root[data-theme="win11"] .main-nav a[aria-current="page"]{background:rgba(0,0,0,.05);box-shadow:none;font-weight:600;}
:root[data-theme="win11"] .main-nav a[aria-current="page"] .p{color:#0067c0;}
:root[data-theme="win11"] .main-nav a[aria-current="page"]::after{content:"";position:absolute;left:50%;bottom:1px;width:16px;height:3px;margin-left:-8px;border-radius:2px;background:#0067c0;}

/* Inhalt als App-Fenster (Mica) mit Fensterknöpfen */
:root[data-theme="win11"] main{display:block;position:relative;width:min(1180px,calc(100% - 24px));margin:18px auto;padding:34px 0 16px;
  background:rgba(243,243,243,.80);backdrop-filter:blur(40px) saturate(1.3);-webkit-backdrop-filter:blur(40px) saturate(1.3);
  border:1px solid rgba(255,255,255,.6);border-radius:8px;box-shadow:0 32px 64px rgba(0,0,0,.18),0 2px 21px rgba(0,0,0,.12);}
:root[data-theme="win11"] main::before{content:"Farhad Karimi – Startseite";position:absolute;top:0;left:14px;height:34px;color:#1b1b1b;font:12px/34px var(--font);}
:root[data-theme="win11"] body[data-page="lebenslauf"] main::before{content:"Farhad Karimi – Werdegang";}
:root[data-theme="win11"] body[data-page="kontakt"] main::before{content:"Farhad Karimi – Kontakt & Datenschutz";}
:root[data-theme="win11"] main::after{content:"—\2003\2003☐\2003\2003✕";position:absolute;top:0;right:18px;height:34px;color:#1b1b1b;font:12px/34px var(--font);}
:root[data-theme="win11"] .site-footer{width:min(1180px,calc(100% - 24px));margin:0 auto 18px;padding-block:14px;border:1px solid rgba(255,255,255,.6);border-radius:8px;
  background:rgba(243,243,243,.80);backdrop-filter:blur(40px);-webkit-backdrop-filter:blur(40px);box-shadow:0 8px 16px rgba(0,0,0,.10);}

/* Karten */
:root[data-theme="win11"] .window,
:root[data-theme="win11"] .stat,
:root[data-theme="win11"] .value,
:root[data-theme="win11"] .tool,
:root[data-theme="win11"] .author,
:root[data-theme="win11"] .book,
:root[data-theme="win11"] .contact-item,
:root[data-theme="win11"] .job details,
:root[data-theme="win11"] .recent-card{background:var(--w11-card);border:1px solid var(--w11-stroke);box-shadow:0 2px 4px rgba(0,0,0,.04);}
:root[data-theme="win11"] .tool:hover,:root[data-theme="win11"] .author:hover,:root[data-theme="win11"] .value:hover{background:#fff;border-color:var(--w11-stroke);box-shadow:0 8px 16px rgba(0,0,0,.10);}
:root[data-theme="win11"] .job details[open]{border-color:var(--w11-stroke);box-shadow:0 8px 16px rgba(0,0,0,.10);}
:root[data-theme="win11"] .recent-card.is-match{border-color:#0067c0;box-shadow:0 0 0 1px #0067c0;}

/* Buttons */
:root[data-theme="win11"] .btn,
:root[data-theme="win11"] .tb-btn,
:root[data-theme="win11"] .icon-btn,
:root[data-theme="win11"] .chip,
:root[data-theme="win11"] .fchip,
:root[data-theme="win11"] .tech-btn,
:root[data-theme="win11"] .copy-btn,
:root[data-theme="win11"] .term-fab{background:#fbfbfb;color:#1b1b1b;border:1px solid var(--w11-stroke);border-bottom-color:var(--w11-stroke-strong);border-radius:4px;box-shadow:none;font-family:var(--font);transform:none;}
:root[data-theme="win11"] .btn:hover,
:root[data-theme="win11"] .tb-btn:hover,
:root[data-theme="win11"] .icon-btn:hover,
:root[data-theme="win11"] .chip:hover,
:root[data-theme="win11"] .fchip:hover,
:root[data-theme="win11"] .tech-btn:hover,
:root[data-theme="win11"] .copy-btn:hover,
:root[data-theme="win11"] .term-fab:hover{background:#f6f6f6;color:#1b1b1b;border-color:var(--w11-stroke);border-bottom-color:var(--w11-stroke-strong);box-shadow:none;transform:none;}
:root[data-theme="win11"] .btn.primary,
:root[data-theme="win11"] .fchip[aria-pressed="true"],
:root[data-theme="win11"] .tech-btn[aria-pressed="true"]{background:#0067c0;color:#fff;border-color:#0067c0;border-bottom-color:#003e92;}
:root[data-theme="win11"] .btn.primary:hover{background:#1975c5;color:#fff;}
:root[data-theme="win11"] .btn.primary .p,:root[data-theme="win11"] .tech-btn[aria-pressed="true"] .n{color:#fff;opacity:.8;}
:root[data-theme="win11"] .btn .p,:root[data-theme="win11"] .tb-btn .p{color:#0067c0;}
:root[data-theme="win11"] .theme-switch{background:rgba(0,0,0,.03);border:1px solid var(--w11-stroke);border-radius:6px;}
:root[data-theme="win11"] .theme-switch button{border-radius:4px;color:#5f5f5f;}
:root[data-theme="win11"] .theme-switch button:hover{background:rgba(0,0,0,.05);color:#1b1b1b;}
:root[data-theme="win11"] .chip::before{color:var(--c,#0067c0);}

/* Fenster-Titelleisten mit Knöpfen rechts */
:root[data-theme="win11"] .window{overflow:hidden;}
:root[data-theme="win11"] .window-bar{background:transparent;border-bottom:1px solid var(--w11-stroke);color:#1b1b1b;font-family:var(--font);padding:8px 14px;}
:root[data-theme="win11"] .window-bar .dots{display:none;}
:root[data-theme="win11"] .window-bar .title{text-align:left;margin:0;}
:root[data-theme="win11"] .window-bar::after{content:"—\2003\2003☐\2003\2003✕";margin-left:auto;flex-shrink:0;color:#1b1b1b;font-size:11px;}
:root[data-theme="win11"] dialog .window-bar::after{display:none;}
:root[data-theme="win11"] dialog.modal .close,
:root[data-theme="win11"] dialog.term .close{margin-left:auto;padding:4px 12px;border-radius:4px;font-family:var(--font);}
:root[data-theme="win11"] dialog.modal .close:hover,
:root[data-theme="win11"] dialog.term .close:hover{background:#c42b1c;color:#fff;}
:root[data-theme="win11"] dialog.modal .window{background:rgba(249,249,249,.94);backdrop-filter:blur(30px);-webkit-backdrop-filter:blur(30px);box-shadow:0 32px 64px rgba(0,0,0,.25);}
:root[data-theme="win11"] dialog::backdrop{background:rgba(0,0,0,.25);backdrop-filter:none;-webkit-backdrop-filter:none;}

/* Eingabefelder: dunklere Unterkante, im Fokus blau */
:root[data-theme="win11"] .grep{background:#fff;border:1px solid var(--w11-stroke);border-bottom:1px solid rgba(0,0,0,.45);border-radius:4px;}
:root[data-theme="win11"] .grep:focus-within{border-bottom:2px solid #0067c0;}
:root[data-theme="win11"] .grep label{color:#0067c0;}

/* Details */
:root[data-theme="win11"] .portrait .window-body::after{display:none;}
:root[data-theme="win11"] .portrait-caption{background:rgba(249,249,249,.88);color:#1b1b1b;border:1px solid var(--w11-stroke);border-radius:6px;font-family:var(--font);}
:root[data-theme="win11"] .portrait-caption .k{color:#0067c0;} :root[data-theme="win11"] .portrait-caption .v{color:#1b1b1b;}
:root[data-theme="win11"] .tool .logo.ascii{background:#fff;border:1px solid var(--w11-stroke);}
:root[data-theme="win11"] .tech-table{border-color:var(--w11-stroke);border-radius:6px;}
:root[data-theme="win11"] .tech-table dt{background:rgba(0,0,0,.025);}
:root[data-theme="win11"] .cv-toolbar{background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none;}

/* Terminal im Stil von "Windows Terminal" */
:root[data-theme="win11"] dialog.term .window{background:#0c0c0c;border:1px solid #2b2b2b;border-radius:8px;box-shadow:0 32px 64px rgba(0,0,0,.4);}
:root[data-theme="win11"] dialog.term .window-bar{background:#202020;border-color:#2b2b2b;color:#fff;padding:0 0 0 14px;}
:root[data-theme="win11"] dialog .window-bar .dots.win-ctrl{display:flex;order:3;margin-left:auto;gap:0;}
:root[data-theme="win11"] dialog .window-bar .title{order:1;padding:8px 0;}
:root[data-theme="win11"] dialog.modal .window-bar{padding:0 0 0 14px;}
:root[data-theme="win11"] dialog.modal .win-ctrl .wc{color:#1b1b1b;}
:root[data-theme="win11"] dialog.modal .win-ctrl .wc:hover{background:rgba(0,0,0,.05);}
:root[data-theme="win11"] dialog.modal .win-ctrl .wc-close:hover{background:#c42b1c;color:#fff;}
:root[data-theme="win11"] dialog .close{display:none;}
:root[data-theme="win11"] .win-ctrl .wc{width:46px;height:36px;border-radius:0;background:transparent;color:#fff;font:400 12px/36px var(--font);}
:root[data-theme="win11"] .win-ctrl .wc:hover{background:rgba(255,255,255,.08);}
:root[data-theme="win11"] .win-ctrl .wc-close:hover{background:#c42b1c;}
:root[data-theme="win11"] .win-ctrl .wc-min{order:1;} :root[data-theme="win11"] .win-ctrl .wc-max{order:2;} :root[data-theme="win11"] .win-ctrl .wc-close{order:3;}
:root[data-theme="win11"] .win-ctrl .wc-min::before{content:"—";} :root[data-theme="win11"] .win-ctrl .wc-max::before{content:"☐";} :root[data-theme="win11"] .win-ctrl .wc-close::before{content:"✕";}
:root[data-theme="win11"] dialog.is-max .win-ctrl .wc-max::before{content:"❐";}
:root[data-theme="win11"] .term-screen{background:#0c0c0c;font-family:'Cascadia Mono','Cascadia Code',Consolas,var(--font);}
:root[data-theme="win11"] .term-screen *{font-family:inherit;}
:root[data-theme="win11"] .term-suggest{background:#0c0c0c;border-top-color:#2b2b2b;}
:root[data-theme="win11"] .term-suggest button{border-radius:4px;background:#2b2b2b;border-color:#3b3b3b;color:#ccc;}

/* Kein zusätzlicher Fokusrahmen dort, wo der Fokus nur technisch liegt bzw. der Container ihn schon anzeigt */
.grep input:focus-visible,#term-in:focus-visible,.modal-title:focus,.modal-title:focus-visible{outline:none !important;}

/* ---------- Druck (Lebenslauf druckfreundlich) ---------- */
@media print{
  :root,:root[data-theme]{--bg:#fff;--panel:#fff;--panel-2:#f3f4f8;--fg:#222;--fg-strong:#000;--muted:#555;--dim:#777;--rule:#ccc;--rule-2:#bbb;--link:#000;
    --green:#2d6a2d;--blue:#244ea8;--purple:#6a3fb0;--orange:#8a5a12;--cyan:#1c5f80;}
  body{font-size:10.5pt;background:#fff;}
  main,.site-footer{box-shadow:none!important;background:#fff!important;width:auto!important;margin:0!important;padding-top:0!important;}
  main::before,main::after,body::before,.site-header,.term-fab,dialog.term,.cv-toolbar,.filter-chips,.cv-listhead .tb-btns,.job .toggle,.job-foot,.site-footer nav,.btn-row{display:none!important;}
  .window,.job details,.stat,.tool,.author,.book,.value{box-shadow:none!important;}
  .job{break-inside:avoid-page;}
  .job details:not([open]) > *:not(summary){display:block;}
  a{border:0;color:inherit;}
  .reveal{opacity:1!important;transform:none!important;}
}
@media print{.job details::details-content{content-visibility:visible;}}   /* zugeklappte Einträge auch ohne JS drucken (eigene Regel, falls der Browser ::details-content nicht kennt) */
