/* nullos.de – gleiche Farben wie die nullos-Doku, keine Schriften von außen, hell/dunkel automatisch */
:root{--bg:#fbfaf7;--fg:#1d1d1b;--mut:#6b6a66;--line:#e4e1da;--card:#fff;--acc:#d2451e;--acc2:#b8380f;--code:#f1eee7;
--ok:#2e7d32;--part:#b26a00;--work:#5468c4;--err:#c62828;--mono:ui-monospace,"SF Mono",Menlo,Consolas,monospace;color-scheme:light dark}
@media (prefers-color-scheme:dark){:root{--bg:#141413;--fg:#ecebe6;--mut:#9b9a94;--line:#2c2b29;--card:#1c1c1a;
--acc:#ff7a52;--acc2:#ff9572;--code:#262523;--ok:#7bc67e;--part:#f0b14a;--work:#93a3ff;--err:#ff8a80}}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--fg);font:17px/1.6 system-ui,-apple-system,"Segoe UI",sans-serif;overflow-x:hidden}
.wrap{max-width:68rem;margin:0 auto;padding:0 16px}
a{color:var(--acc)}
code,kbd,pre{font:15px/1.45 var(--mono)}
code,kbd{background:var(--code);padding:.08em .32em;border-radius:4px;overflow-wrap:anywhere}
kbd{border:1px solid var(--line);border-bottom-width:2px}
pre{background:var(--code);padding:12px 14px;border-radius:10px;overflow-x:auto}
pre code{background:none;padding:0;overflow-wrap:normal}
h2{font-size:clamp(1.5rem,3.5vw,2rem);letter-spacing:-.02em;margin:0 0 1rem;line-height:1.2}
h3{font-size:1.1rem;margin:1.6rem 0 .4rem}
section{padding:56px 0;border-top:1px solid var(--line)}
.mut{color:var(--mut)}
.nw{white-space:nowrap}

/* Kopf */
.top{position:sticky;top:0;z-index:5;background:color-mix(in srgb,var(--bg) 88%,transparent);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.top .wrap{display:flex;align-items:center;justify-content:space-between;height:56px}
.logo{font:800 22px/1 var(--mono);color:var(--fg);text-decoration:none;letter-spacing:-.02em}
.logo{display:inline-flex;align-items:center;gap:9px}
.logo img{display:block;border-radius:8px}
.logo b{color:var(--acc)}
.top nav a{margin-left:18px;color:var(--fg);text-decoration:none;font-size:15px;font-weight:600}
.top nav a:hover{color:var(--acc)}

/* Start */
.hero{border-top:0;padding:64px 0 56px}
.hero .wrap{display:grid;grid-template-columns:1.05fr 1fr;gap:48px;align-items:center}
.hero .mark{display:block;width:112px;height:112px;margin:0 0 18px;border-radius:24px;box-shadow:0 10px 30px rgba(0,0,0,.18)}
.kicker{font:600 13px var(--mono);color:var(--acc);text-transform:uppercase;letter-spacing:.08em;margin:0}
h1{font:800 clamp(3.4rem,10vw,6.2rem)/.95 var(--mono);letter-spacing:-.05em;margin:.3rem 0 .2rem}
h1 b{color:var(--acc)}
.claim{font-size:clamp(1.3rem,3vw,1.7rem);font-weight:700;margin:.4rem 0 1rem;line-height:1.25}
.claim span{color:var(--mut);font-weight:500}
.lead{font-size:1.08rem;color:var(--mut);max-width:34rem}
.cta{display:flex;flex-wrap:wrap;gap:10px;margin-top:1.4rem}
.btn{display:inline-flex;align-items:baseline;gap:.5em;background:var(--acc);color:#fff;text-decoration:none;font-weight:700;
padding:11px 18px;border-radius:10px;border:2px solid var(--acc);transition:transform .15s,background .15s}
.btn:hover{background:var(--acc2);border-color:var(--acc2);transform:translateY(-1px)}
.btn small{font-weight:500;opacity:.85}
.btn.ghost{background:transparent;color:var(--acc)}
.btn.ghost:hover{background:var(--code)}

.term{background:#0f1a1c;border-radius:12px;box-shadow:0 18px 50px rgba(0,0,0,.28);overflow:hidden;border-top:3px solid #2bb3a3;min-width:0}
.term .bar{display:flex;align-items:center;gap:6px;padding:9px 12px;background:#16252a}
.term .bar i{width:10px;height:10px;border-radius:50%;background:#3a4b50}
.term .bar span{margin-left:8px;font:12px var(--mono);color:#7d9a9a}
.term pre{background:none;color:#cfe3df;margin:0;padding:16px 18px 20px;font-size:14px;line-height:1.55;border-radius:0}
.term pre b{color:#2bb3a3}
.cur{animation:blink 1.1s steps(1) infinite;color:#cfe3df}
@keyframes blink{50%{opacity:0}}
@media (prefers-reduced-motion:reduce){.cur{animation:none}html{scroll-behavior:auto}}

.stats{padding:28px 0;background:var(--card)}
.stats .wrap{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.stats div{display:flex;flex-direction:column}
.stats b{font:800 clamp(1.5rem,4vw,2.2rem)/1.1 var(--mono);color:var(--acc)}
.stats span{color:var(--mut);font-size:14px}

.parts{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:1rem}
.parts>div{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:16px}
.parts>div>code{font:800 22px var(--mono);background:none;padding:0;color:var(--acc)}
.parts h3{margin:.2rem 0 .1rem;font-size:1rem}
.parts p{margin:0;color:var(--mut);font-size:15px}
.shot{margin:28px 0 0}
.shot img{width:100%;height:auto;border-radius:10px;border:1px solid var(--line);display:block}
.shot figcaption{color:var(--mut);font-size:14px;margin-top:6px}

/* Download */
.dl{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.dl article{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:18px;min-width:0}
.dl h3{margin:0}
.dl .mut{font-size:14px;margin:.1rem 0 .9rem}
.dl p{font-size:15px}
.warn{border-left:3px solid var(--acc);padding-left:10px}
.cols{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-top:12px}
.cols ol,.cols ul{padding-left:1.2em}
.cols li{margin:.3rem 0}
.tw{overflow-x:auto;-webkit-overflow-scrolling:touch}
table{border-collapse:collapse;width:100%;font-size:15px}
th,td{text-align:left;padding:7px 12px 7px 0;border-bottom:1px solid var(--line);vertical-align:top}
th{font-size:13px;color:var(--mut);font-weight:600}
.sha{font-size:13px;word-break:break-all;background:none;padding:0}
.box{background:var(--card);border:1px solid var(--line);border-left:3px solid var(--acc);border-radius:10px;padding:4px 18px;margin-top:28px}

/* Werkzeuge (aufklappbar) */
details.all{border:1px solid var(--line);border-radius:12px;background:var(--card);margin-top:16px}
details.all>summary{cursor:pointer;padding:14px 18px;font-weight:700;list-style:none;display:flex;align-items:center;gap:10px}
details.all>summary::-webkit-details-marker,details.kat>summary::-webkit-details-marker{display:none}
details.all>summary::before,details.kat>summary::before{content:"▸";color:var(--acc);transition:transform .15s;display:inline-block}
details[open]>summary::before{transform:rotate(90deg)}
details.all>*:not(summary){margin-left:18px;margin-right:18px}
details.all[open]{padding-bottom:12px}
.find{margin:18px 0 6px}
.find label{display:block;font-weight:700;margin-bottom:6px}
.find input{width:100%;font:inherit;font-size:1.05rem;padding:12px 14px;border:2px solid var(--line);border-radius:10px;background:var(--card);color:var(--fg)}
.find input:focus{outline:none;border-color:var(--acc)}
.find p{margin:6px 0 0;font-size:14px;min-height:1.2em}
tr.hit td{background:color-mix(in srgb,var(--acc) 9%,transparent)}
.legend{font-size:14px}
details.kat{border-top:1px solid var(--line)}
details.kat>summary{cursor:pointer;padding:10px 0;display:flex;align-items:baseline;gap:10px;list-style:none;font-weight:600}
details.kat>summary small{margin-left:auto;color:var(--mut);font-weight:400;white-space:nowrap}
details.kat table{font-size:14px;margin-bottom:12px}
.cmd{font-weight:800;background:none;padding:0;font-size:15px}
td small{color:var(--mut)}
.use{display:block;width:fit-content;font-size:12.5px;margin-top:3px}
.st{display:inline-block;font-size:12px;padding:1px 8px;border-radius:10px;border:1px solid currentColor;white-space:nowrap}
.st.ok{color:var(--ok)}.st.part{color:var(--part)}.st.work{color:var(--work)}.st.err{color:var(--err)}.st.plan{color:var(--mut)}
.facts{display:grid;grid-template-columns:auto 1fr;gap:6px 18px;font-size:15px}
.facts dt{font-weight:700}
.facts dd{margin:0;min-width:0}

/* Rechtliches + Fuß */
.legal{max-width:46rem;margin:0 auto;padding:40px 16px}
.legal h1{font:800 2rem/1.2 system-ui,sans-serif;letter-spacing:-.02em}
.legal h2{font-size:1.2rem;margin:1.8rem 0 .4rem}
footer{border-top:1px solid var(--line);padding:24px 0 40px;font-size:14px;color:var(--mut)}
footer .wrap{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px}
footer nav a{margin-left:16px;color:var(--mut)}
footer nav a:first-child{margin-left:0}

@media (max-width:860px){
.hero .wrap{grid-template-columns:1fr;gap:32px}
.dl,.parts{grid-template-columns:1fr 1fr}
.cols{grid-template-columns:1fr}
}
@media (max-width:600px){
body{font-size:16px}
section{padding:40px 0}
.hero{padding:36px 0 40px}
.hero .mark{width:84px;height:84px;border-radius:18px}
.top nav a{margin-left:12px;font-size:14px}
.stats .wrap{grid-template-columns:1fr 1fr}
.dl,.parts{grid-template-columns:1fr}
.term pre{font-size:12px;padding:12px}
details.all>*:not(summary){margin-left:12px;margin-right:12px}
details.kat table th:nth-child(3),details.kat table td:nth-child(3),details.kat table th:nth-child(5),details.kat table td:nth-child(5){display:none}
.facts{grid-template-columns:1fr}
.sums thead{display:none}
.sums tr{display:block;padding:8px 0;border-bottom:1px solid var(--line)}
.sums td{display:block;border:0;padding:2px 0}
.sums td code:not(.sha){overflow-wrap:normal;white-space:nowrap}
.facts dt{margin-top:6px}
}
