  /* Self-hosted fonts (url() paths are relative to this CSS file) */
@font-face{font-family:"Lora";font-style:normal;font-weight:400;font-display:swap;src:url(/fileadmin/website_uni_ulm/iui.inst.150/atlas/fonts/lora-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:"Lora";font-style:italic;font-weight:400;font-display:swap;src:url(/fileadmin/website_uni_ulm/iui.inst.150/atlas/fonts/lora-latin-400-italic.woff2) format("woff2")}
@font-face{font-family:"Lora";font-style:normal;font-weight:600;font-display:swap;src:url(/fileadmin/website_uni_ulm/iui.inst.150/atlas/fonts/lora-latin-600-normal.woff2) format("woff2")}
@font-face{font-family:"Montserrat";font-style:normal;font-weight:400;font-display:swap;src:url(/fileadmin/website_uni_ulm/iui.inst.150/atlas/fonts/montserrat-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:"Montserrat";font-style:normal;font-weight:500;font-display:swap;src:url(/fileadmin/website_uni_ulm/iui.inst.150/atlas/fonts/montserrat-latin-500-normal.woff2) format("woff2")}
@font-face{font-family:"Montserrat";font-style:normal;font-weight:700;font-display:swap;src:url(/fileadmin/website_uni_ulm/iui.inst.150/atlas/fonts/montserrat-latin-700-normal.woff2) format("woff2")}
@font-face{font-family:"Special Elite";font-style:normal;font-weight:400;font-display:swap;src:url(/fileadmin/website_uni_ulm/iui.inst.150/atlas/fonts/special-elite-latin-400-normal.woff2) format("woff2")}

/* Censorship Atlas - all rules are scoped to #censorship-atlas so they cannot leak into the TYPO3 theme */
#censorship-atlas{--color-primary:#000;--color-background:#fff;--font-serif:"Lora","Merriweather","Times New Roman",serif;--font-sans:"Montserrat","Helvetica Neue",Helvetica,sans-serif;--font-censored:"Special Elite","Courier New",monospace;color:#000;font-family:var(--font-serif);line-height:1.6;text-align:left}
#censorship-atlas *{box-sizing:border-box}
#censorship-atlas h1,#censorship-atlas h2,#censorship-atlas h3,#censorship-atlas h4,#censorship-atlas h5,#censorship-atlas h6{font-family:var(--font-censored);letter-spacing:2px;text-transform:uppercase;font-weight:400;color:inherit}
#censorship-atlas .censored{font-family:var(--font-censored);background-color:var(--color-primary);color:var(--color-primary);cursor:pointer;display:inline;font-weight:700;padding:0 6px;text-decoration:none;transition:color .3s ease}
#censorship-atlas .censored:hover{color:var(--color-background)}
#censorship-atlas .page-text a{background-color:#f5f5f5;border-radius:2px;color:var(--color-primary);display:inline-block;padding:0 4px;text-decoration:none;transition:all .2s ease}
#censorship-atlas .page-text a:hover{background-color:var(--color-primary);color:var(--color-background)!important}
#censorship-atlas .info-card{background-color:var(--color-background);border:4px solid var(--color-primary);margin-top:2rem;padding:1.5rem}
#censorship-atlas .info-card h3{letter-spacing:1px;margin-top:0;text-transform:uppercase}
#censorship-atlas .info-card a{font-weight:700;text-decoration:underline;text-underline-offset:4px}
#censorship-atlas .attribution-block{align-items:center;display:flex;font-family:var(--font-censored);font-size:1.2rem;font-weight:700;gap:.5rem;margin-top:1rem}
#censorship-atlas .attribution-block span{opacity:.5}
#censorship-atlas .redacted-link{background-color:var(--color-primary)!important;border-radius:0;color:var(--color-background)!important;padding:0 4px;text-decoration:none!important}
#censorship-atlas .redacted-link:before{content:""!important}
#censorship-atlas .redacted-link:hover{background-color:transparent;color:var(--color-primary)!important;outline:2px solid var(--color-primary)}
#censorship-atlas .references-container{margin-top:2rem}
#censorship-atlas .controls-row{align-items:center;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;margin-bottom:1.5rem}
#censorship-atlas .search-input{border:2px solid var(--color-primary);border-radius:4px;flex:1 1;font-family:var(--font-sans);font-size:1rem;min-width:250px;outline:none;padding:.75rem 1rem}
#censorship-atlas .search-input:focus{box-shadow:4px 4px 0 rgba(0,0,0,.1)}
#censorship-atlas .filter-group{align-items:center;display:flex;font-family:var(--font-sans);font-size:.9rem;font-weight:700;gap:.5rem;text-transform:uppercase}
#censorship-atlas .dimension-select{background-color:var(--color-background);border:2px solid var(--color-primary);border-radius:4px;cursor:pointer;font-family:var(--font-sans);font-weight:600;outline:none;padding:.5rem}
#censorship-atlas .ref-table-container{background:var(--color-background);border:2px solid var(--color-primary);box-shadow:8px 8px 0 rgba(0,0,0,.08);margin-bottom:3rem;overflow-x:auto}
#censorship-atlas .ref-table{border-collapse:collapse;min-width:700px;text-align:left;width:100%}
#censorship-atlas .ref-table th{background-color:var(--color-primary);border-bottom:2px solid var(--color-primary);color:var(--color-background);cursor:pointer;font-family:var(--font-censored);font-weight:400;letter-spacing:1px;padding:1rem;position:sticky;top:0;transition:background-color .2s;z-index:0}
#censorship-atlas .ref-table th:hover{background-color:#333}
#censorship-atlas .ref-table td{border-bottom:1px solid #e0e0e0;font-family:var(--font-sans);font-size:.95rem;padding:1rem;vertical-align:top}
#censorship-atlas .ref-table tbody tr{transition:background-color .2s ease}
#censorship-atlas .ref-table tbody tr:hover{background-color:#f7f7f7}
#censorship-atlas .ref-table tbody tr:last-child td{border-bottom:none}
#censorship-atlas .badge{border:1px solid;border-radius:12px;display:inline-block;font-family:var(--font-sans);font-size:.75rem;font-weight:700;letter-spacing:.5px;margin-bottom:.4rem;margin-right:.5rem;padding:.2rem .6rem;text-transform:uppercase;white-space:nowrap}
#censorship-atlas .badge-legal{background-color:#e3f2fd;border-color:#1565c0;color:#1565c0}
#censorship-atlas .badge-filter{background-color:#fce4ec;border-color:#c2185b;color:#c2185b}
#censorship-atlas .badge-flood{background-color:#fff3e0;border-color:#e65100;color:#e65100}
#censorship-atlas .badge-infra{background-color:#e8f5e9;border-color:#2e7d32;color:#2e7d32}
#censorship-atlas .page-title{border-bottom:3px solid var(--color-primary);font-size:2rem;margin:0 0 1.5rem;padding-bottom:.5rem}
#censorship-atlas .page-text{font-family:var(--font-serif);font-size:1.1rem;line-height:1.8;margin-bottom:1.5rem}
#censorship-atlas .section-title{font-size:1.4rem;margin:0 0 1.5rem}
#censorship-atlas .card{background-color:#fafafa;border:2px solid var(--color-primary);padding:1.5rem;transition:transform .2s ease,box-shadow .2s ease}
#censorship-atlas .card:hover{box-shadow:4px 4px 0 var(--color-primary);transform:translateY(-4px)}
#censorship-atlas .card--heavy{border-width:4px}
#censorship-atlas .frame{background-color:#fafafa;border:2px solid var(--color-primary);box-shadow:8px 8px 0 rgba(0,0,0,.08);margin-bottom:3rem;overflow-x:auto;padding:1rem;width:100%}
#censorship-atlas .grid-2{grid-template-columns:repeat(2,1fr)}
#censorship-atlas .grid-2,#censorship-atlas .grid-3{display:grid;gap:1.5rem;margin-bottom:3rem}
#censorship-atlas .grid-3{grid-template-columns:repeat(3,1fr)}
#censorship-atlas .quick-link{border:2px solid var(--color-primary);color:var(--color-primary);display:block;font-family:var(--font-censored);font-size:1.1rem;letter-spacing:2px;padding:1.5rem;text-align:center;text-decoration:none;text-transform:uppercase;transition:background .2s ease,color .2s ease}
#censorship-atlas .quick-link:hover{background:var(--color-primary);color:var(--color-background)}
@media (max-width:768px){#censorship-atlas .grid-2,#censorship-atlas .grid-3{grid-template-columns:1fr}}
@media (min-width:769px) and (max-width:1024px){#censorship-atlas .grid-3{grid-template-columns:repeat(2,1fr)}}

/* ---- Title bar + navigation (separate block, scoped to #atlas-header) ---- */
#atlas-header{--color-primary:#000;--color-background:#fff;--font-sans:"Montserrat","Helvetica Neue",Helvetica,sans-serif;--font-censored:"Special Elite","Courier New",monospace;color:#000;line-height:1.6;text-align:left}
#atlas-header *{box-sizing:border-box}
#atlas-header .main-header{align-items:center;border-bottom:4px solid var(--color-primary);display:flex;flex-wrap:wrap;gap:1.5rem;justify-content:space-between;margin-bottom:3rem;padding-bottom:1rem}
#atlas-header .header-brand{align-items:center;display:flex;gap:1rem;position:relative;z-index:0}
#atlas-header .header-brand a{display:block;line-height:0}
#atlas-header .header-logo{display:block;height:42px;margin:0;object-fit:cover;object-position:center 25%;width:58px}
#atlas-header .header-title{color:var(--color-primary);font-family:var(--font-censored);font-size:1.8rem;letter-spacing:2px;line-height:1.2;margin:0;text-transform:uppercase}
#atlas-header .main-nav{display:flex;flex-wrap:wrap;gap:1.5rem}
#atlas-header .main-nav a{border-bottom:3px solid transparent;color:var(--color-primary);font-family:var(--font-sans);font-size:.95rem;font-weight:700;letter-spacing:1.5px;position:relative;text-decoration:none;text-transform:uppercase;transition:opacity .2s ease}
#atlas-header .main-nav a:hover{opacity:.7;text-decoration:none}
#atlas-header .main-nav a[aria-current="page"]{border-bottom-color:var(--color-primary)}
#atlas-header .hamburger{background:transparent;border:none;cursor:pointer;display:none;flex-direction:column;height:22px;justify-content:space-between;padding:0;position:relative;width:30px;z-index:0}
#atlas-header .hamburger span{background:var(--color-primary);display:block;height:3px;position:relative;transform-origin:1px;transition:all .3s linear;width:100%}
#atlas-header .hamburger.open span:first-child{transform:rotate(45deg)}
#atlas-header .hamburger.open span:nth-child(2){opacity:0;transform:translateX(20px)}
#atlas-header .hamburger.open span:nth-child(3){transform:rotate(-45deg)}
@media (max-width:768px){#atlas-header .hamburger{display:flex}#atlas-header .main-nav{align-items:center;background:var(--color-background);display:flex;flex-direction:column;gap:2.5rem;height:100vh;justify-content:center;left:0;position:fixed;top:0;transform:translateX(100%);transition:transform .3s ease-in-out;width:100vw;z-index:0}#atlas-header .main-nav.open{transform:translateX(0)}#atlas-header .main-nav a{font-size:1.5rem}#atlas-header .header-logo{height:38px}#atlas-header .header-title{font-size:1.25rem}}
