/* Java Enterprise Atlas - konsolidiertes Portal-Designsystem, 2026-07-10 */
:root{
  color-scheme:light;
  --bg:#f4f7fb;--bg-soft:#edf3f8;--panel:#ffffff;--panel-2:#f8fbfd;--text:#172033;--muted:#607086;
  --accent:#236f83;--accent-2:#7a5ea8;--accent-soft:#e2f0f4;--good:#15795d;--warn:#9a6512;--bad:#a53c52;
  --line:#d8e2eb;--border:#d8e2eb;--shadow:0 18px 45px rgba(27,48,68,.10);--shadow-soft:0 8px 24px rgba(27,48,68,.08);
  --code-bg:#101827;--code-text:#d9e3f0;--code-key:#ff9d5c;--code-str:#a5d67b;--code-num:#7eb6ff;--code-cmt:#8997aa;--code-type:#ffd479;
  --radius:18px;--radius-lg:28px;--max:1240px;
}
html[data-theme="dark"]{color-scheme:dark;--bg:#0c1320;--bg-soft:#111c2c;--panel:#162235;--panel-2:#1a2940;--text:#e9f0f8;--muted:#aebbd0;--accent:#62c6d9;--accent-2:#b69be3;--accent-soft:#153443;--good:#62d2aa;--warn:#ffd078;--bad:#ff8da2;--line:#30415a;--border:#30415a;--shadow:0 20px 56px rgba(0,0,0,.30);--shadow-soft:0 10px 28px rgba(0,0,0,.22)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:radial-gradient(circle at 8% -10%,rgba(35,111,131,.15),transparent 32rem),linear-gradient(180deg,var(--bg-soft),var(--bg));color:var(--text);line-height:1.65;min-height:100vh}a{color:var(--accent);text-underline-offset:.18em}.skip{position:absolute;left:-9999px}.skip:focus{left:1rem;top:1rem;background:var(--panel);color:var(--text);padding:.65rem 1rem;border-radius:12px;z-index:1000;box-shadow:var(--shadow)}
.topbar{position:sticky;top:0;z-index:40;background:color-mix(in srgb,var(--bg) 84%,transparent);backdrop-filter:blur(18px);border-bottom:1px solid var(--line)}.nav{max-width:var(--max);margin:auto;display:flex;gap:1rem;align-items:center;justify-content:space-between;padding:.78rem 1rem}.brand{display:inline-flex;align-items:center;gap:.68rem;color:var(--text);font-weight:850;text-decoration:none;letter-spacing:-.02em}.brand::before{content:"";width:31px;height:31px;display:inline-block;background:url("atlas-mark.svg") center/contain no-repeat;flex:0 0 auto}.navlinks{display:flex;gap:.35rem;align-items:center;flex-wrap:wrap}.navlinks a,.btn,.theme-toggle,.iconbtn,.dl-toggle-btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;border:1px solid var(--line);background:var(--panel);color:var(--text);border-radius:999px;padding:.52rem .82rem;text-decoration:none;font-weight:700;box-shadow:var(--shadow-soft);cursor:pointer}.navlinks a:hover,.navlinks a[aria-current="page"],.btn:hover,.theme-toggle:hover,.iconbtn:hover,.dl-toggle-btn:hover{border-color:var(--accent);background:var(--accent-soft);text-decoration:none}.theme-toggle{min-width:42px;min-height:42px;padding:.45rem;flex:0 0 auto}.floating-theme{position:static;right:auto;bottom:auto;z-index:auto}.theme-dock{display:flex;justify-content:flex-end;align-items:center;max-width:var(--max);margin:0 auto;padding:.8rem 1rem 0;position:relative;z-index:2}.theme-dock .theme-toggle{box-shadow:var(--shadow-soft)}
.hero{max-width:var(--max);margin:auto;padding:4.4rem 1rem 2.5rem;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(260px,.75fr);gap:2.2rem;align-items:center}.hero-copy{min-width:0}.eyebrow{color:var(--accent);text-transform:uppercase;letter-spacing:.16em;font-size:.78rem;font-weight:850}.hero h1{font-size:clamp(2.5rem,6.4vw,5.8rem);line-height:.98;letter-spacing:-.055em;margin:.65rem 0 1.1rem;max-width:900px}.hero p{max-width:820px;color:var(--muted);font-size:1.1rem}.hero-actions,.center-actions{display:flex;gap:.6rem;flex-wrap:wrap;margin-top:1.35rem}.hero-visual{background:linear-gradient(145deg,var(--panel),var(--panel-2));border:1px solid var(--line);border-radius:var(--radius-lg);padding:1.2rem;box-shadow:var(--shadow)}.hero-visual img{display:block;width:100%;height:auto}.atlas-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;margin-top:.75rem}.atlas-fact{border:1px solid var(--line);border-radius:14px;padding:.75rem;background:var(--panel-2)}.atlas-fact b{display:block;font-size:1.35rem;line-height:1.1}.atlas-fact span{color:var(--muted);font-size:.82rem}
.focus-grid{max-width:var(--max);margin:auto;padding:1rem;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.focus-card,.card{height:100%;background:linear-gradient(180deg,var(--panel),var(--panel-2));border:1px solid var(--line);border-radius:var(--radius);padding:1.25rem;box-shadow:var(--shadow-soft);transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease;min-width:0}.focus-card{padding:1.55rem}.focus-card h2,.card h2,.card h3{margin:.25rem 0 .65rem;line-height:1.16;letter-spacing:-.02em}.focus-card p,.card p,.muted{color:var(--muted)}.focus-card .path-number{display:inline-grid;place-items:center;width:2.1rem;height:2.1rem;border-radius:999px;background:var(--accent);color:white;font-weight:900}.card-link{display:block;color:var(--text);text-decoration:none;min-width:0;height:100%}.card-link:hover{text-decoration:none}.card-link:hover .card,.card-link:hover .focus-card,.card-link:focus-visible .card,.card-link:focus-visible .focus-card{transform:translateY(-3px);border-color:var(--accent);box-shadow:var(--shadow)}.card-link:focus-visible{outline:3px solid color-mix(in srgb,var(--accent) 70%,transparent);outline-offset:4px;border-radius:var(--radius)}
.grid{max-width:var(--max);margin:auto;padding:1rem;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:1rem;align-items:stretch}.secondary-section{max-width:var(--max);margin:1.2rem auto 0;padding:0 1rem}.secondary-section h2{border:0;padding:0;margin:0 0 .25rem}.secondary-section>p{color:var(--muted);margin:.25rem 0 0}.badge,.stage-meta span,.dl-meta-row span{display:inline-flex;border:1px solid var(--line);border-radius:999px;padding:.2rem .6rem;background:var(--panel-2);font-size:.8rem;font-weight:750;color:var(--muted)}.file-name{display:block;margin:.4rem 0 .75rem;color:var(--accent);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.82rem;line-height:1.38;overflow-wrap:anywhere}.ok{color:var(--good)}.warn{color:var(--warn)}.bad{color:var(--bad)}
main{max-width:1200px;margin:auto;padding:1.5rem 1rem 4rem}.content{min-width:0}.content article,article.book-panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:clamp(1.1rem,3vw,2rem);box-shadow:var(--shadow-soft)}.layout{display:grid;grid-template-columns:280px minmax(0,1fr);gap:1rem;max-width:1400px;margin:auto;padding:1rem}.sidebar{position:sticky;top:76px;align-self:start;max-height:calc(100vh - 95px);overflow:auto;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:1rem;box-shadow:var(--shadow-soft)}.sidebar a{display:block;padding:.36rem .25rem}.compact{max-width:900px}h1,h2,h3{line-height:1.18}h1{font-size:clamp(2rem,4vw,3.5rem);letter-spacing:-.035em}h2{margin-top:2rem;border-top:1px solid var(--line);padding-top:1.25rem}hr{border:0;border-top:1px solid var(--line)}
.toc,.callout,.dl-note,.checkitem{border:1px solid var(--line);border-left:4px solid var(--accent);border-radius:14px;padding:1rem;background:var(--panel-2);margin:1rem 0}.toc ul,.toc ol{margin:.5rem 0}.callout{border-left-color:var(--accent-2)}table{width:100%;border-collapse:collapse;display:block;overflow-x:auto;background:var(--panel)}th,td{border:1px solid var(--line);padding:.65rem;text-align:left;vertical-align:top}th{background:var(--accent-soft)}input,select,textarea{width:100%;padding:.75rem .85rem;border:1px solid var(--line);border-radius:13px;background:var(--panel);color:var(--text);font:inherit}
.diagram-grid,.module-grid,.dl-link-grid,.dl-stage-grid,.reflexion-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:1rem}.diagram-card img,.dl-svg-wrap img{width:100%;height:auto;background:#fff;border-radius:14px;padding:.55rem;border:1px solid var(--line)}
.codewrap{position:relative;margin:1rem 0;min-width:0;isolation:isolate}.codehead{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.5rem;min-width:0;border:1px solid #34435b;border-bottom:0;background:#1a2537;border-radius:14px 14px 0 0;padding:.42rem .75rem;color:#cbd7e8;font-size:.82rem}.codehead>span{min-width:0;overflow-wrap:anywhere}.copybtn{flex:0 0 auto;border:1px solid #516079;background:#273349;color:#e8eef8;border-radius:8px;padding:.2rem .5rem;cursor:pointer}.codewrap pre,pre{max-width:100%;overflow:auto}.codewrap pre{margin:0;background:var(--code-bg);color:var(--code-text);border:1px solid #34435b;border-radius:0 0 14px 14px;padding:1rem;tab-size:2}.kw{color:var(--code-key)}.str{color:var(--code-str)}.num{color:var(--code-num)}.cmt{color:var(--code-cmt);font-style:italic}.typ{color:var(--code-type)}
.timeline,.dl-timeline{position:relative;margin:1rem 0}.step,.dl-timeline-item{display:grid;grid-template-columns:100px minmax(0,1fr);gap:1rem;margin:1rem 0}.step .mark,.stage-number{font-weight:900;color:var(--accent)}.dl-stage,.dl-stage-detail,.dl-stage-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);margin:1rem 0;overflow:hidden;box-shadow:var(--shadow-soft)}.dl-stage summary,.dl-stage-detail>summary{list-style:none;cursor:pointer;padding:1rem 1.1rem;display:grid;grid-template-columns:auto minmax(0,1fr);gap:.8rem;align-items:start;font-weight:800}.dl-stage summary::-webkit-details-marker,.dl-stage-detail>summary::-webkit-details-marker{display:none}.dl-stage-icon,.dl-dot{width:2rem;height:2rem;border-radius:999px;display:grid;place-items:center;background:linear-gradient(135deg,var(--accent),var(--accent-2));color:white;font-weight:900}.dl-stage-icon::before{content:'▸'}.dl-stage-detail[open] .dl-stage-icon::before{content:'▾'}.dl-stage-body,.dl-content,.dl-details{padding:0 1.1rem 1.2rem 3.9rem}.dl-togglebar{display:flex;gap:.6rem;align-items:center;flex-wrap:wrap;margin:1rem 0}.dl-meta-row,.stage-meta{display:flex;gap:.45rem;flex-wrap:wrap}.dl-link-grid a{display:block;border:1px solid var(--line);border-radius:13px;padding:.7rem;background:var(--panel-2);text-decoration:none}.dl-link-grid a:hover{border-color:var(--accent)}.dl-hero{padding:1.2rem;border:1px solid var(--line);border-radius:var(--radius);background:linear-gradient(135deg,var(--panel),var(--accent-soft));box-shadow:var(--shadow-soft)}.dl-matrix{overflow:auto}.stage-title{font-weight:850}.stage-learn{color:var(--muted)}
.footer{max-width:var(--max);margin:2rem auto 0;padding:2rem 1rem;color:var(--muted);border-top:1px solid var(--line)}
@media(max-width:900px){.hero{grid-template-columns:1fr;padding-top:2.7rem}.focus-grid{grid-template-columns:1fr}.layout{display:block}.sidebar{position:relative;top:auto;max-height:none;margin-bottom:1rem}.nav{align-items:flex-start}.navlinks{overflow-x:auto;flex-wrap:nowrap;max-width:100%;padding-bottom:.2rem}.navlinks a{white-space:nowrap}.brand{font-size:.92rem}.step,.dl-timeline-item{grid-template-columns:1fr}.dl-stage-body,.dl-content,.dl-details{padding:0 1rem 1rem}.atlas-facts{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.hero h1{font-size:2.55rem}.atlas-facts{grid-template-columns:1fr}.nav{display:block}.brand{margin-bottom:.6rem}.theme-dock{padding:.65rem .75rem 0}.theme-toggle.floating-theme{position:static;right:auto;bottom:auto}.codehead{align-items:flex-start}.card,.focus-card{border-radius:16px}}
@media print{body{background:white;color:#111}.topbar,.sidebar,.copybtn,.theme-toggle{display:none!important}.content article,.card,.focus-card{box-shadow:none;border:1px solid #ddd;background:white}.layout{display:block}.hero{display:block;padding:1rem}.codewrap pre{white-space:pre-wrap}.footer{border-top:1px solid #ddd}}

/* Dokumentationsausbau 2026-07-10 */
.doc-page{max-width:1180px}.doc-page article{overflow:hidden}.document-hero{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr);gap:1.5rem;align-items:center;background:linear-gradient(135deg,var(--panel),var(--accent-soft));border:1px solid var(--line);border-radius:var(--radius-lg);padding:clamp(1.2rem,3vw,2rem);margin-bottom:1rem}.document-hero h1{margin:.45rem 0 .8rem}.document-hero .lead,.lead{font-size:1.08rem;color:var(--muted);max-width:850px}.document-hero img{width:100%;height:auto;border-radius:18px;background:#fff;border:1px solid var(--line);padding:.4rem}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(135px,1fr));gap:.75rem;margin:1rem 0}.stat-card{background:var(--panel-2);border:1px solid var(--line);border-radius:15px;padding:.85rem;min-width:0}.stat-card b{display:block;font-size:1.55rem;line-height:1.1;color:var(--accent)}.stat-card span{display:block;color:var(--muted);font-size:.84rem;margin-top:.25rem}.doc-toc{columns:2;column-gap:2rem}.doc-toc strong{display:block;column-span:all}.doc-toc ol{margin:.55rem 0}.doc-toc li{break-inside:avoid}.feature-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:.85rem;margin:1rem 0}.feature{background:var(--panel-2);border:1px solid var(--line);border-radius:15px;padding:1rem}.feature h3{margin:.1rem 0 .45rem}.feature p{margin:0;color:var(--muted)}.process-list{list-style:none;padding:0;counter-reset:step}.process-list li{counter-increment:step;display:grid;grid-template-columns:minmax(120px,.32fr) minmax(0,1fr);gap:1rem;border-bottom:1px solid var(--line);padding:.9rem 0}.process-list li::before{content:counter(step,decimal-leading-zero);grid-row:1 / span 2;color:var(--accent);font-weight:900;font-size:1.1rem}.process-list b{grid-column:2}.process-list span{grid-column:2;color:var(--muted)}.area-list{display:grid;gap:.65rem;margin:1rem 0}.area-list a{display:grid;grid-template-columns:minmax(180px,.32fr) minmax(0,1fr);gap:1rem;text-decoration:none;background:var(--panel-2);border:1px solid var(--line);border-radius:14px;padding:.85rem 1rem}.area-list a:hover{border-color:var(--accent)}.area-list span{color:var(--muted)}.tech-profile{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:.65rem;margin:1rem 0}.tech-profile div{background:var(--panel-2);border:1px solid var(--line);border-radius:13px;padding:.75rem}.tech-profile span{display:block;color:var(--muted);font-size:.78rem;text-transform:uppercase;letter-spacing:.08em}.tech-profile b{display:block;overflow-wrap:anywhere}.status-chip{display:inline-flex;border-radius:999px;padding:.2rem .55rem;font-size:.78rem;font-weight:800;border:1px solid var(--line);white-space:nowrap}.status-chip.implemented{background:color-mix(in srgb,var(--good) 13%,var(--panel));color:var(--good);border-color:color-mix(in srgb,var(--good) 40%,var(--line))}.status-chip.structural{background:var(--panel-2);color:var(--muted);border-style:dashed}.table-wrap{overflow-x:auto;margin:1rem 0}.table-wrap table{display:table;min-width:760px}.doc-figure{margin:1rem 0;background:var(--panel-2);border:1px solid var(--line);border-radius:18px;padding:1rem}.doc-figure img{display:block;max-width:100%;height:auto;margin:auto;background:#fff;border-radius:12px}.doc-figure figcaption{color:var(--muted);font-size:.9rem;margin-top:.6rem}.doc-entry-grid{max-width:none;padding:1rem 0}.doc-page section{scroll-margin-top:90px}
@media(max-width:850px){.document-hero{grid-template-columns:1fr}.doc-toc{columns:1}.process-list li,.area-list a{grid-template-columns:1fr}.process-list b,.process-list span{grid-column:1}.process-list li::before{grid-row:auto}.table-wrap table{min-width:680px}}
@media print{@page{size:A4;margin:17mm 15mm 18mm;@bottom-center{content:"Java Enterprise Atlas · " counter(page) " / " counter(pages);font:9pt sans-serif;color:#607086}}body{font-size:10.5pt;background:#fff!important}.doc-page{max-width:none;padding:0}.doc-page article{border:0!important;box-shadow:none!important;padding:0!important}.document-hero{grid-template-columns:1fr 42%;page-break-after:always;min-height:225mm;border:0;padding:18mm 0;background:#fff}.document-hero h1{font-size:32pt}.document-hero .hero-actions{display:none}.stats-grid{page-break-inside:avoid}.doc-toc{page-break-after:always}.doc-page h2{break-after:avoid}.feature,.stat-card,.callout,.doc-figure,.tech-profile div{break-inside:avoid}.table-wrap{overflow:visible}.table-wrap table{min-width:0;font-size:8.5pt}.table-wrap th,.table-wrap td{padding:4.5pt}.area-list a{color:#172033}.status-chip{border:1px solid #aaa;background:#fff!important;color:#333!important}.codewrap pre{white-space:pre-wrap;font-size:8.2pt}.document-hero img{max-height:110mm;object-fit:contain}.footer{display:none}}
