:root{color-scheme:dark;--bg:#282a36;--panel:#383a49;--panel2:#44475a;--line:#686b80;--text:#f8f8f2;--muted:#d6d6df;--accent:#bd93f9;--mint:#50fa7b;--amber:#f1fa8c;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
/* This page uses only the signed-in account preference supplied by the server. */
html[data-theme="dark"]{--bg:#101112;--panel:#1c2025;--panel2:#272d35;--line:#56616b;--text:#f5f7fb;--muted:#c5ced9;--accent:#8ecbff;--mint:#8ee4bf;--amber:#ffd58d}
html[data-theme="light"]{color-scheme:light;--bg:#f5f7fb;--panel:#fff;--panel2:#eaf0f6;--line:#bdcad8;--text:#101827;--muted:#425467;--accent:#2455b5;--mint:#087c62;--amber:#795000}
html[data-theme="trans_pride"]{color-scheme:light;--bg:#f8f4fb;--panel:#fff;--panel2:#ffe9f1;--line:#caabc6;--text:#102033;--muted:#45556b;--accent:#af366f;--mint:#087c75;--amber:#875b16}
html[data-theme="blue_bird"]{color-scheme:light;--bg:#f5fbff;--panel:#fff;--panel2:#e8f5ff;--line:#b7d2e8;--text:#08233e;--muted:#415d74;--accent:#1569a5;--mint:#087b62;--amber:#795000}
html[data-theme="blue_bird_dark"]{--bg:#06111f;--panel:#0b1829;--panel2:#10243a;--line:#38617f;--text:#e8f5ff;--muted:#b4d4ea;--accent:#47b8ff;--mint:#00e0a4;--amber:#ffd400}
html[data-theme="colorblind_deuteranopia"]{color-scheme:light;--bg:#f7f8fb;--panel:#fff;--panel2:#eef1f6;--line:#bac8d9;--text:#111827;--muted:#3f4b5f;--accent:#005f96;--mint:#00795a;--amber:#805700}
html[data-theme="colorblind_protanopia"]{--bg:#111827;--panel:#172033;--panel2:#233047;--line:#53708d;--text:#f9fafb;--muted:#d1d5db;--accent:#8bd0f2;--mint:#56b4e9;--amber:#f0e442}
html[data-theme="colorblind_tritanopia"]{color-scheme:light;--bg:#fbf8ff;--panel:#fff;--panel2:#f1edf7;--line:#cbbbd8;--text:#1d1b25;--muted:#4b4558;--accent:#65227e;--mint:#006f64;--amber:#795700}
html[data-theme="colorblind_high_contrast"]{--bg:#000;--panel:#101010;--panel2:#1c1c1c;--line:#999;--text:#fff;--muted:#eee;--accent:#6bd8ff;--mint:#00e0a4;--amber:#ffe66d}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:radial-gradient(circle at 85% 0%,color-mix(in srgb,var(--accent) 14%,transparent),transparent 34rem),var(--bg);color:var(--text);line-height:1.55}a{color:inherit}a:focus-visible,input:focus-visible{outline:3px solid var(--mint);outline-offset:4px}html[data-privacy-lang="en"] .de,html[data-privacy-lang="de"] .en{display:none!important}.skip-link{position:absolute;left:12px;top:-80px;padding:10px 14px;background:var(--mint);color:var(--bg);z-index:10}.skip-link:focus{top:12px}.site-header,.site-footer{max-width:1240px;margin:auto;padding:18px clamp(20px,4vw,52px);display:flex;align-items:center;justify-content:space-between;gap:20px}.site-header{border-bottom:1px solid var(--line)}.brand{display:inline-flex;align-items:center;gap:11px;text-decoration:none;font-size:1.12rem;font-weight:850;letter-spacing:-.03em}.brand-logo{display:block;width:40px;height:40px;object-fit:contain;flex:none}.brand-dot{color:var(--accent)}.header-actions{display:flex;align-items:center;gap:8px}.header-actions a{padding:7px 10px;border-radius:9px;text-decoration:none;font-size:.85rem;font-weight:750}.header-actions a[aria-current]{background:var(--panel2);color:var(--mint)}.header-actions .header-login{border:1px solid var(--line);margin-left:10px}.page-shell{max-width:1240px;margin:auto;padding:0 clamp(20px,4vw,52px) 80px}.hero{padding:clamp(62px,10vw,134px) 0 64px;max-width:880px}.eyebrow,.section-number{text-transform:uppercase;letter-spacing:.15em;font-size:.75rem;font-weight:850;color:var(--mint);margin:0 0 15px}.hero h1{font-size:clamp(3.1rem,8vw,6.6rem);line-height:.99;letter-spacing:-.065em;margin:0 0 28px;text-wrap:balance}.hero-lead{font-size:clamp(1.08rem,2vw,1.35rem);color:var(--muted);max-width:760px;margin:0 0 23px}.hero-meta{display:flex;align-items:center;gap:9px;color:var(--muted);font-size:.82rem}.pulse{width:7px;height:7px;background:var(--mint);border-radius:50%;box-shadow:0 0 0 4px color-mix(in srgb,var(--mint) 20%,transparent)}.notice{display:grid;grid-template-columns:auto 1fr;gap:20px;padding:24px 26px;border:1px solid color-mix(in srgb,var(--amber) 42%,var(--line));border-radius:20px;background:color-mix(in srgb,var(--amber) 7%,var(--panel))}.notice-symbol{font-size:1.8rem;color:var(--amber);line-height:1}.notice h2{font-size:1.1rem;margin:0 0 6px}.notice p{margin:0;color:var(--muted);max-width:960px}.section{padding:100px 0 0}.section-heading{margin:0 0 32px;max-width:760px}.section-heading h2,.closing h2{font-size:clamp(2rem,4vw,3.3rem);line-height:1.1;letter-spacing:-.045em;margin:0 0 10px}.section-heading>p:not(.section-number){color:var(--muted);margin:0}.map-layout{display:grid;grid-template-columns:minmax(230px,.31fr) minmax(0,.69fr);gap:18px}.flow-controls,.flow-map{border:1px solid var(--line);border-radius:22px;background:var(--panel);margin:0;min-width:0}.flow-controls{padding:22px}.flow-controls legend{float:left;width:100%;font-size:.9rem;font-weight:850;margin:0 0 16px}.flow-controls label{clear:both;display:flex;align-items:flex-start;gap:12px;padding:15px 0;border-top:1px solid var(--line);cursor:pointer}.flow-controls input{accent-color:var(--accent);width:19px;height:19px;margin:3px 0 0;flex:none}.control-copy{display:grid;gap:3px}.control-copy strong{font-size:.89rem}.control-copy small,.control-footnote{color:var(--muted);font-size:.78rem}.control-footnote{margin:12px 0 0}.flow-map{padding:clamp(18px,3vw,34px);background:radial-gradient(circle at 72% 15%,color-mix(in srgb,var(--accent) 9%,transparent),transparent 24rem),var(--panel)}.core-flow{display:grid;grid-template-columns:minmax(0,1fr) 60px minmax(0,1fr);align-items:center;gap:8px}.node{min-height:152px;border:1px solid var(--line);border-radius:16px;padding:18px;background:var(--panel2);display:flex;flex-direction:column;align-items:flex-start}.node-icon{font-size:1.55rem;color:var(--mint);margin-bottom:13px}.node strong{font-size:1rem}.node small{color:var(--muted);line-height:1.35;margin-top:4px}.instance{border-color:color-mix(in srgb,var(--accent) 53%,var(--line))}.instance .node-icon{color:var(--accent)}.core-arrow{display:flex;flex-direction:column;align-items:center;justify-content:center;font-weight:900;color:var(--mint);font-size:1.7rem;line-height:.8;gap:15px}.core-caption{margin:16px 0 20px;color:var(--muted);font-size:.84rem}.branches{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.branch{display:flex;align-items:center;gap:12px;padding:14px;border-radius:13px;border:1px dashed var(--line);opacity:.57;filter:saturate(.55);transition:opacity .18s,border-color .18s,background .18s}.branch.is-active{opacity:1;filter:none;background:color-mix(in srgb,var(--accent) 10%,var(--panel2));border-style:solid;border-color:var(--accent)}.branch-arrows{color:var(--accent);font-size:1.4rem;font-weight:900}.branch strong,.branch small{display:block}.branch strong{font-size:.85rem}.branch small{font-size:.75rem;color:var(--muted);line-height:1.35;margin-top:3px}.flow-status{border-top:1px solid var(--line);padding-top:16px;margin:22px 0 0;color:var(--mint);font-size:.82rem}.choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.choice-card{border:1px solid var(--line);border-radius:20px;background:var(--panel);padding:26px;display:flex;flex-direction:column;align-items:flex-start}.card-icon{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:color-mix(in srgb,var(--accent) 18%,var(--panel2));color:var(--accent);font-size:1.45rem}.choice-card h3{font-size:1.16rem;margin:19px 0 6px}.choice-card p{color:var(--muted);margin:0 0 18px;flex:1}.choice-card a{color:var(--mint);font-weight:800;text-underline-offset:4px}.card-links{display:flex;gap:18px;flex-wrap:wrap}.boundary-list{border-top:1px solid var(--line)}.boundary-list article{display:grid;grid-template-columns:60px 1fr;gap:20px;border-bottom:1px solid var(--line);padding:24px 0}.boundary-index{font-weight:800;color:var(--mint);font-size:.9rem}.boundary-list h3{margin:0 0 6px;font-size:1.15rem}.boundary-list p{margin:0;max-width:850px;color:var(--muted)}.closing{margin-top:100px;padding:32px;border-radius:22px;background:linear-gradient(120deg,color-mix(in srgb,var(--accent) 23%,var(--panel)),var(--panel));border:1px solid color-mix(in srgb,var(--accent) 38%,var(--line));display:flex;justify-content:space-between;align-items:end;gap:30px}.closing p:not(.section-number){color:var(--muted);max-width:650px;margin:0}.primary-link{display:inline-flex;align-items:center;justify-content:center;gap:16px;white-space:nowrap;padding:13px 18px;border-radius:11px;background:var(--mint);color:var(--bg);text-decoration:none;font-weight:850}.site-footer{border-top:1px solid var(--line);color:var(--muted);font-size:.82rem}.site-footer a{text-underline-offset:4px}
@media(max-width:850px){.map-layout{grid-template-columns:1fr}.flow-controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 20px}.flow-controls legend,.flow-controls .control-footnote{grid-column:1/-1}.section{padding-top:76px}}
@media(max-width:600px){.site-header,.site-footer{padding-left:20px;padding-right:20px}.header-actions .header-login{margin-left:0}.hero{padding:72px 0 46px}.flow-controls,.flow-map{padding:18px}.flow-controls{display:block}.core-flow{grid-template-columns:minmax(0,1fr) 28px minmax(0,1fr)}.core-arrow{font-size:1.2rem}.node{padding:11px;min-height:160px}.node strong{font-size:.85rem}.node small{font-size:.68rem}.branches,.choice-grid{grid-template-columns:1fr}.notice{padding:20px;gap:12px}.closing{display:block}.primary-link{margin-top:22px}.boundary-list article{grid-template-columns:40px 1fr;gap:10px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.branch{transition:none}}
.branch em{display:block;margin-top:7px;color:var(--mint);font-size:.69rem;font-style:normal;font-weight:750;line-height:1.4}.map-caveat{margin:12px 0 0;color:var(--muted);font-size:.76rem}.algorithm-key{margin-top:20px;padding:26px;border:1px solid var(--line);border-radius:20px;background:var(--panel)}.algorithm-key h2{margin:0 0 16px;font-size:1.15rem}.algorithm-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.algorithm-grid p{margin:0;color:var(--muted);font-size:.86rem}.algorithm-grid strong{color:var(--text)}.algorithm-caveat{margin:18px 0 0;border-top:1px solid var(--line);padding-top:15px;color:var(--amber);font-size:.8rem}
@media(max-width:600px){.algorithm-grid{grid-template-columns:1fr}}
