:root{color-scheme:dark;--bg:#0a1411;--panel:#14211c;--text:#f4f7ef;--muted:#b4c1b7;--accent:#a1f66b;--line:#344b3d;--panel-2:#213329;--gold:#ffda73;font-family:system-ui,-apple-system,"Segoe UI",sans-serif;font-synthesis:none}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--bg);color:var(--text);line-height:1.7}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}a,button{touch-action:manipulation}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--gold);outline-offset:5px}a:hover{color:var(--accent)}.wrap,.header{width:min(1160px,calc(100% - 80px));margin-inline:auto}.header{min-height:98px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:24px}.brand{display:inline-flex;align-items:center;gap:12px;font-size:19px;font-weight:800;letter-spacing:-.7px}.mark{display:inline-grid;place-content:center;width:37px;height:37px;background:#a1f66b;border:1px solid #a1f66b;color:var(--bg);font:800 20px system-ui,-apple-system,"Segoe UI",sans-serif;letter-spacing:-3px;border-radius:50%}.mark span{color:#10200e}.dot{color:var(--accent);margin-left:-12px}nav{display:flex;gap:30px;font-size:14px}.skip{position:absolute;top:10px;left:12px;transform:translateY(-180%);z-index:10;background:var(--text);color:var(--bg);padding:10px}.skip:focus{transform:none}.hero{display:grid;grid-template-columns:1.1fr 1fr;align-items:center;min-height:640px;padding-top:50px;gap:10px;position:relative}.eyebrow,.mono{font-family:inherit;font-size:11px;font-weight:800;letter-spacing:1.4px;color:var(--muted)}.status-dot{display:inline-block;height:7px;width:7px;background:var(--accent);border-radius:50%;margin-right:8px;box-shadow:0 0 12px #a1f66b66}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(48px,6.5vw,84px);font-weight:750;line-height:1.08;letter-spacing:-4px;margin-bottom:26px}.accent{color:var(--accent)}.lead{font-size:18px;max-width:480px;color:var(--muted);line-height:1.8;margin-bottom:34px}.button{display:inline-flex;justify-content:center;align-items:center;gap:30px;min-height:50px;padding:12px 23px;border:1px solid #a1f66b;border-radius:10px;background:var(--accent);color:#10200e;font-weight:650;font-size:14px;transition:transform .2s,background .2s;cursor:pointer}.button:hover{background:#b7ff8c;color:#10200e;transform:translateY(-2px)}.button:disabled{cursor:not-allowed;background:#213329;color:#b4c1b7;border-color:#506b52;transform:none}.hero-art{height:430px;position:relative;display:grid;place-items:center;overflow:hidden;background:radial-gradient(ellipse at center,#427b2f40,transparent 66%)}.hero-art:before{content:"";position:absolute;inset:25px;background-image:linear-gradient(#a1f66b0d 1px,transparent 1px),linear-gradient(90deg,#a1f66b0d 1px,transparent 1px);background-size:28px 28px;mask-image:radial-gradient(ellipse,#000,transparent 70%)}.orbit{position:absolute;border:1px solid #78a56366;border-radius:50%;width:295px;height:295px;transform:rotate(-25deg) scaleX(1.2)}.orbit-two{width:365px;height:365px;border-style:dashed;opacity:.45;transform:rotate(25deg) scaleX(.82)}.code-symbol{font:500 130px system-ui,-apple-system,"Segoe UI",sans-serif;color:#7ca76a;position:relative;letter-spacing:5px;text-shadow:0 0 50px #a1f66b30;animation:float 7s ease-in-out infinite}.code-symbol span{color:#a1f66b}.art-label{position:absolute;bottom:94px;font:11px system-ui,-apple-system,"Segoe UI",sans-serif;letter-spacing:5px;color:#b4c1b7}.coordinate{position:absolute;bottom:20px;right:0;font:9px system-ui,-apple-system,"Segoe UI",sans-serif;letter-spacing:2px;color:#b4c1b7}.hero-bottom{grid-column:1/-1;width:100%;display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding:25px 0;color:var(--muted);font-size:12px;margin-top:30px}.hero-bottom span:last-child{font:9px system-ui,-apple-system,"Segoe UI",sans-serif;letter-spacing:2px}.projects{padding-block:85px}.section-head{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:30px}.section-head h2{margin-bottom:0}h2{font-size:clamp(29px,4vw,42px);letter-spacing:-1.5px;line-height:1.25}h3{font-size:27px;line-height:1.25;letter-spacing:-.5px}.muted,p{color:var(--muted)}.muted{font-size:13px}.project-feature{display:grid;grid-template-columns:1fr 1fr;background:var(--panel);border:1px solid var(--line);border-radius:10px;overflow:hidden}.project-art{min-height:345px;position:relative;background:radial-gradient(ellipse at 40% 50%,#4d813c55,transparent),#0d1913;display:grid;place-items:center;padding:45px}.pitch{width:90%;max-width:340px;aspect-ratio:1.5;border:1px solid #a1f66b66;border-radius:4px;position:relative;transform:perspective(600px) rotateX(18deg) rotateZ(-8deg);background:repeating-linear-gradient(90deg,#a1f66b12 0 35px,transparent 35px 70px);box-shadow:0 25px 60px #0007}.pitch:before,.pitch:after{content:"";position:absolute;width:15%;height:45%;border:1px solid #a1f66b66;top:27%}.pitch:before{left:-1px}.pitch:after{right:-1px}.pitch-line{position:absolute;left:50%;height:100%;border-left:1px solid #a1f66b66}.pitch-circle{position:absolute;left:38%;top:32%;width:24%;aspect-ratio:1;border:1px solid #a1f66b66;border-radius:50%}.ball{position:absolute;left:58%;top:38%;font-size:42px;filter:drop-shadow(0 10px 10px #0008)}.dart{position:absolute;left:22%;top:-22%;font-size:100px;line-height:1;color:#a1f66b;transform:rotate(-15deg)}.pitch-label{position:absolute;bottom:-43px;left:20%;font:10px system-ui,-apple-system,"Segoe UI",sans-serif;letter-spacing:3px;color:#b4c1b7}.art-caption{position:absolute;bottom:12px;font-size:10px;color:#b4c1b7}.project-copy{padding:45px}.badge{display:inline-block;border:1px solid #506b52;background:#213329;color:#a1f66b;font:10px system-ui,-apple-system,"Segoe UI",sans-serif;letter-spacing:1.7px;padding:5px 9px;border-radius:4px;margin-bottom:20px}.project-copy h3{font-size:36px;margin-bottom:16px}.tags{display:flex;gap:8px;flex-wrap:wrap;margin:24px 0}.tags span{font-size:11px;color:#b4c1b7;border:1px solid var(--line);padding:3px 9px;border-radius:4px}.text-link{display:inline-flex;gap:24px;color:#b7ff8c;font-weight:600;font-size:14px}.coming{margin-top:20px;padding:30px;display:flex;gap:25px;align-items:center;border:1px dashed #344b3d;border-radius:10px}.plus{font:40px system-ui,-apple-system,"Segoe UI",sans-serif;color:#83998a}.coming h3{font-size:18px;margin-bottom:5px}.coming p{font-size:13px;margin:0}.coming .mono{margin-left:auto;font-size:9px;white-space:nowrap}.closing{padding:45px 0 90px}.closing h2{font-size:33px}.closing p:last-child{font-size:14px}.footer{padding-block:30px;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:20px}.footer .brand{font-size:13px;gap:0}.footer span{font-size:11px;color:var(--muted)}.footer nav{font-size:12px;gap:25px}.page-hero{padding-block:65px}.page-hero h1{max-width:850px}.breadcrumb{display:inline-block;font-size:12px;color:var(--muted);margin-bottom:30px}.subnav{display:flex;gap:24px;flex-wrap:wrap;border-block:1px solid var(--line);padding-block:15px;font-size:13px}.content-section{padding-block:55px;border-bottom:1px solid var(--line)}.content-section:last-child{border-bottom:0}.content-section>p{max-width:760px}.columns{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.tile{background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:25px}.tile h3{font-size:19px}.number{font:13px system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--accent);display:block;margin-bottom:18px}.tile p{font-size:14px;margin-bottom:0}.screens{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.screen{border:1px dashed #506b52;aspect-ratio:9/16;max-height:370px;border-radius:18px;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:20px;background:linear-gradient(145deg,#213329,#14211c);color:#b4c1b7}.screen span{font:26px system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--accent)}.screen strong{margin-block:16px 5px}.screen small{font-size:11px}.notice{border-left:3px solid var(--accent);background:#14291c;padding:18px 23px;color:#d4dfd1;margin-block:22px;font-size:14px}.steps{padding-left:22px;max-width:780px}.steps li{padding:8px 0 8px 6px;color:var(--muted)}.steps strong{color:var(--text)}.version-row{display:flex;gap:20px;align-items:center;flex-wrap:wrap;margin-block:18px}.legal{max-width:820px;padding-bottom:70px}.legal h1{font-size:clamp(38px,6vw,62px);letter-spacing:-2px;overflow-wrap:anywhere}.legal h2{font-size:23px;margin-top:38px;letter-spacing:-.5px}.placeholder{color:#ffda73;background:#2b281b;padding:3px 7px;overflow-wrap:anywhere}.legal dl dt{font-weight:650;margin-top:18px}.legal dd{margin:4px 0;color:var(--muted)}details{border-bottom:1px solid var(--line);padding:18px 0}summary{cursor:pointer;font-weight:600}details p{margin:15px 0 0}.history{padding-left:20px}.history li{color:var(--muted)}@keyframes float{50%{transform:translateY(-10px)}}@media(min-width:1600px){.hero{min-height:730px}}@media(max-width:800px){.wrap,.header{width:calc(100% - 40px)}.hero{grid-template-columns:1fr;padding-top:50px}.hero-art{height:300px;grid-row:2}.hero-copy{max-width:620px}h1{letter-spacing:-2.5px}.hero-bottom{margin-top:0}.hero-bottom span:last-child{display:none}.project-feature{grid-template-columns:1fr}.project-art{min-height:300px}.project-copy{padding:30px}.columns{grid-template-columns:1fr}.section-head{align-items:start;flex-direction:column}.footer{flex-wrap:wrap}.footer>span{display:none}.projects{padding-block:55px}.coming{padding:22px;gap:18px}.coming .mono{display:none}.screens{gap:12px}.screen{padding:12px;border-radius:12px}.screen strong{font-size:13px}.screen small{font-size:10px}.page-hero{padding-block:40px}}@media(max-width:450px){.header{min-height:85px;align-items:start;padding-block:20px;gap:12px;flex-direction:column}.header nav{gap:25px}.hero-art{height:270px}.orbit{width:220px;height:220px}.orbit-two{width:260px;height:260px}.code-symbol{font-size:100px}.art-label{bottom:45px}.coordinate{display:none}.lead{font-size:16px}.coming h3{font-size:16px}.footer{gap:22px}.screens{grid-template-columns:1fr}.screen{max-width:240px;width:100%;justify-self:center;max-height:350px}.closing h2{font-size:28px}.subnav{gap:14px}.button{gap:14px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}

/* Schrift und Farbpalette aus der DartSoccer-App. */
h1,h2,h3{font-weight:800}.footer .brand .accent{color:var(--accent)}

/* Persönliche Seite und Navigation. */
.header nav{flex-wrap:wrap}.header nav a[aria-current="page"]{color:var(--accent)}.about-page .lead{max-width:760px}.about-intro{max-width:740px}.about-page .content-section:last-child{padding-bottom:75px}.about-page .tile h3{font-size:20px}
@media(max-width:640px){.header{align-items:flex-start;flex-direction:column;padding-block:20px;gap:16px}.header nav{gap:12px 24px}.about-page .page-hero{padding-top:32px}}

/* Originale App-Screenshots. */
.app-gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;margin-block:30px}.app-shot{margin:0;min-width:0}.app-shot-link{display:block;border-radius:24px;overflow:hidden;background:var(--panel);border:1px solid var(--line);transition:transform .2s,border-color .2s}.app-shot-link:hover{transform:translateY(-4px);border-color:var(--accent)}.app-shot img{display:block;width:100%;height:auto}.app-shot figcaption{padding:18px 2px 0;line-height:1.5}.app-shot figcaption strong{display:block;font-size:16px;color:var(--text)}.app-shot figcaption span{display:block;margin-top:7px;font-size:13px;color:var(--muted)}.project-art--screenshot{min-height:430px;padding:30px 30px 48px}.project-art--screenshot img{display:block;height:350px;width:auto;max-width:100%;object-fit:contain;border:1px solid var(--line);border-radius:22px;box-shadow:0 18px 48px #0006}.project-art--screenshot:focus-visible{outline-offset:-5px}
@media(max-width:900px){.app-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 22px}.app-shot-link{max-width:260px;margin-inline:auto}.app-shot figcaption{max-width:260px;margin-inline:auto}}
@media(max-width:450px){.app-gallery{grid-template-columns:minmax(0,1fr);gap:32px}.app-shot-link,.app-shot figcaption{max-width:270px}.project-art--screenshot{min-height:390px}.project-art--screenshot img{height:315px}}

/* Gappi: Grünes SVG mit transparentem Hintergrund. */
.brand-logo{display:block;flex:0 0 auto;width:44px;height:44px;object-fit:contain;background:transparent}.footer .brand-logo{width:32px;height:32px;margin-right:10px}
