:root{
  --bg: #0b1220;
  --surface: rgba(15,26,46,.55);
  --surface2: rgba(15,26,46,.72);
  --text: #eaf0ff;
  --muted: rgba(234,240,255,.72);
  --border: rgba(234,240,255,.14);
  --accent: #00A7B5;
  --radius: 14px;
  --shadow: 0 14px 34px rgba(0,0,0,.35);
}

*{box-sizing:border-box}
body{
  margin:0;
  font-family: system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  background:
    radial-gradient(1200px 700px at 10% 0%, rgba(0,167,181,.18), transparent 55%),
    radial-gradient(900px 700px at 85% 10%, rgba(120,80,255,.14), transparent 60%),
    radial-gradient(900px 700px at 50% 90%, rgba(255,255,255,.06), transparent 60%),
    var(--bg);
  color: var(--text);
}
a{color:inherit}

.container{width:min(1180px, 92%); margin:0 auto}

.site-header{
  position: sticky; top:0; z-index:20;
  background: rgba(11,18,32,.72);
  backdrop-filter: blur(10px);
  border-bottom: 1px solid var(--border);
}
.header-inner{
  display:flex; align-items:center; justify-content:space-between;
  padding:14px 0;
}
.brand{
  display:flex; align-items:center; gap:10px;
  text-decoration:none;
  font-weight:900;
  letter-spacing:.2px;
}
.brand-mark{
  display:inline-flex; align-items:center; justify-content:center;
  width:34px; height:34px; border-radius:10px;
  background: rgba(0,167,181,.18);
  border:1px solid rgba(0,167,181,.35);
  color: var(--text);
}
.brand-text{opacity:.95}

.nav-list{display:flex; gap:18px; list-style:none; margin:0; padding:0}
.nav-list a{opacity:.85; text-decoration:none}
.nav-list a:hover{opacity:1}

.site-main{padding:22px 0 40px}
.content-article{padding:18px}
.content-title{margin:0 0 10px}

.hpstart-portal{display:flex; flex-direction:column; gap:16px}
.hpstart-top{
  padding:18px;
  border:1px solid var(--border);
  border-radius: var(--radius);
  background: var(--surface);
  box-shadow: var(--shadow);
  backdrop-filter: blur(10px);
}

.hpstart-featured{margin-bottom:14px}
.hpstart-featured-head{display:flex; align-items:baseline; justify-content:space-between; gap:12px; margin-bottom:10px}
.hpstart-featured-title{font-weight:900; letter-spacing:.2px}
.hpstart-featured-sub{color: var(--muted); font-size:.92rem}
.hpstart-featured-grid{
  display:grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap:12px;
}

.hpstart-searchrow{
  display:flex; align-items:center; justify-content:space-between;
  gap:12px;
}
.hpstart-search{
  position:relative;
  flex:1;
}
.hpstart-search input{
  width:100%;
  padding:14px 14px 14px 44px;
  border-radius: 14px;
  border:1px solid rgba(255,255,255,.12);
  background: rgba(0,0,0,.22);
  color: var(--text);
  outline:none;
}
.hpstart-searchicon{
  position:absolute;
  left:14px; top:50%;
  transform: translateY(-50%);
  opacity:.8;
}

.hpstart-btn{
  display:inline-flex; align-items:center; justify-content:center;
  padding:12px 14px;
  border-radius: 12px;
  border:1px solid rgba(255,255,255,.14);
  text-decoration:none;
  font-weight:700;
}
.hpstart-btn-primary{
  background: rgba(0,167,181,.92);
  color:#041018;
  border-color: transparent;
}
.hpstart-btn-ghost{
  background: rgba(0,0,0,.18);
}

.hpstart-chips{display:flex; flex-wrap:wrap; gap:10px; margin-top:12px}
.hpstart-chip{
  padding:10px 12px;
  border-radius: 999px;
  border:1px solid rgba(255,255,255,.12);
  background: rgba(0,0,0,.18);
  color: var(--text);
  cursor:pointer;
}
.hpstart-chip.is-active{
  border-color: rgba(0,167,181,.55);
  background: rgba(0,167,181,.18);
}

.hpstart-main{
  display:grid;
  grid-template-columns: 1.6fr .8fr;
  gap:16px;
}

.hpstart-aside .hpstart-card,
.hpstart-accordion{
  border:1px solid var(--border);
  border-radius: var(--radius);
  background: var(--surface);
  box-shadow: var(--shadow);
  backdrop-filter: blur(10px);
}

.hpstart-accordion{padding:8px}
.hpstart-section{
  border-top:1px solid rgba(255,255,255,.10);
}
.hpstart-section:first-child{border-top:0}
.hpstart-section-header{
  display:flex; align-items:center; justify-content:space-between;
  padding:14px 14px;
  cursor:pointer;
  user-select:none;
}
.hpstart-section-title{
  display:flex; align-items:center; gap:10px;
  font-weight:900;
}
.hpstart-caret{opacity:.75}
.hpstart-section-body{padding:0 14px 14px 14px; display:none}
.hpstart-section.is-open .hpstart-section-body{display:block}

.hpstart-grid{
  display:grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap:12px;
}
.hpstart-link{
  display:flex;
  flex-direction:column;
  gap:6px;
  padding:12px;
  border-radius: 14px;
  border:1px solid rgba(255,255,255,.12);
  background: rgba(0,0,0,.22);
  text-decoration:none;
  position:relative;
}
.hpstart-link:hover{border-color: rgba(0,167,181,.45)}
.hpstart-link-title{font-weight:800}
.hpstart-link-desc{font-size:.92rem; color: var(--muted); line-height:1.35}
.hpstart-link-locked{
  opacity:.55;
  border-style:dashed;
}
.hpstart-lockbadge{
  position:absolute; top:10px; right:10px;
  font-size:.86rem;
  padding:6px 8px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.14);
  background: rgba(0,0,0,.25);
}

.hpstart-card{padding:14px}
.hpstart-card h3{margin:0 0 10px}
.hpstart-muted{color: var(--muted)}
.hpstart-list{margin:0; padding-left:18px; color: var(--muted)}

.hpchat-row{display:flex; gap:10px}
.hpchat-input{
  flex:1;
  padding:12px 12px;
  border-radius:12px;
  border:1px solid rgba(255,255,255,.14);
  background: rgba(0,0,0,.22);
  color: var(--text);
  outline:none;
}
.hpchat-out{margin-top:12px; display:flex; flex-direction:column; gap:10px; max-height:360px; overflow:auto}
.hpchat-msg{
  padding:10px 12px;
  border-radius:12px;
  border:1px solid rgba(255,255,255,.10);
  background: rgba(0,0,0,.22);
}
.hpchat-user{border-color: rgba(0,167,181,.25)}
.hpchat-err{border-color: rgba(255,80,80,.35); background: rgba(255,80,80,.08)}
.hpchat-ai{border-color: rgba(255,255,255,.12)}

.site-footer{
  border-top:1px solid rgba(255,255,255,.10);
  padding:18px 0;
  background: rgba(0,0,0,.10);
}
.footer-inner{display:flex; justify-content:space-between; gap:12px}
.footer-inner small{color: rgba(234,240,255,.70)}

@media (max-width: 980px){
  .hpstart-main{grid-template-columns:1fr}
  .hpstart-grid{grid-template-columns: repeat(2, minmax(0, 1fr));}
  .hpstart-featured-grid{grid-template-columns: repeat(2, minmax(0, 1fr));}
}
@media (max-width: 620px){
  .nav-list{display:none}
  .hpstart-grid{grid-template-columns:1fr}
  .hpstart-featured-grid{grid-template-columns:1fr}
  .hpstart-searchrow{flex-direction:column; align-items:stretch}
}

/* WP Login Form styling inside portal cards */
#hpstart-loginform label{display:block; margin:10px 0 6px; color: rgba(234,240,255,.85); font-weight:700}
#hpstart-loginform input[type="text"],
#hpstart-loginform input[type="password"]{
  width:100%;
  padding:12px 12px;
  border-radius:12px;
  border:1px solid rgba(255,255,255,.14);
  background: rgba(0,0,0,.22);
  color: var(--text);
  outline:none;
}
#hpstart-loginform .login-remember{margin:10px 0; color: rgba(234,240,255,.72)}
#hpstart-loginform input[type="submit"]{
  margin-top:10px;
  padding:12px 14px;
  border-radius:12px;
  border:0;
  background: rgba(0,167,181,.92);
  color:#041018;
  font-weight:800;
  cursor:pointer;
}


/* --- Beauty polish v3 --- */
.hpstart-top{padding:20px}
.hpstart-search input{box-shadow: inset 0 0 0 1px rgba(255,255,255,.05), 0 10px 24px rgba(0,0,0,.22)}
.hpstart-chip{transition: transform .08s ease, border-color .12s ease, background .12s ease}
.hpstart-chip:active{transform: translateY(1px)}
.hpstart-link{transition: transform .08s ease, border-color .12s ease, background .12s ease}
.hpstart-link:hover{transform: translateY(-1px); background: rgba(0,0,0,.28)}
.hpstart-card{background: rgba(15,26,46,.62)}
.hpstart-featured-grid .hpstart-link{background: rgba(0,0,0,.18)}
.hpstart-featured-title{font-size:1.05rem}
.hpstart-featured-sub{font-size:.9rem}
.site-main{padding-top:18px}
.content{padding-top:6px}

/* Inline login panel */
.hpstart-loginpanel{
  margin-top:12px;
  border:1px solid rgba(255,255,255,.10);
  border-radius: var(--radius);
  background: rgba(0,0,0,.18);
  padding:14px;
}
.hpstart-loginpanel h4{margin:0 0 8px; font-size:1rem}
.hpstart-loginpanel .hpstart-muted{margin:0 0 10px}


/* Iconbar Schnellzugriff */
.hpstart-iconbar{
  grid-template-columns: repeat(6, minmax(0, 1fr));
}
.hpstart-iconbar .hpstart-link{
  flex-direction:row;
  align-items:center;
  gap:10px;
}
.hpstart-icon{
  width:34px;
  height:34px;
  border-radius:12px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background: rgba(0,167,181,.16);
  border:1px solid rgba(0,167,181,.28);
  font-weight:900;
}
.hpstart-iconbar .hpstart-link-desc{display:none}

/* Zuletzt genutzt */
.hpstart-recent{display:flex; flex-direction:column; gap:8px}
.hpstart-recent-item{
  display:flex; align-items:center; gap:10px;
  padding:10px 10px;
  border-radius:12px;
  border:1px solid rgba(255,255,255,.10);
  background: rgba(0,0,0,.18);
  text-decoration:none;
}
.hpstart-recent-item:hover{border-color: rgba(0,167,181,.35); transform: translateY(-1px)}
.hpstart-recent-dot{opacity:.7}
.hpstart-recent-title{font-weight:800; overflow:hidden; text-overflow:ellipsis; white-space:nowrap}

/* Responsive iconbar */
@media (max-width: 980px){
  .hpstart-iconbar{grid-template-columns: repeat(3, minmax(0, 1fr));}
}
@media (max-width: 620px){
  .hpstart-iconbar{grid-template-columns: repeat(2, minmax(0, 1fr));}
}

.hp-auth-box{
  border:1px solid rgba(255,255,255,.12);
  border-radius:14px;
  padding:14px;
  background:rgba(0,0,0,.25);
}
.hp-auth-box input{
  width:100%;
  margin-bottom:8px;
  padding:10px;
  border-radius:10px;
  border:1px solid rgba(255,255,255,.14);
  background:rgba(0,0,0,.25);
  color:#fff;
}
.hp-auth-links{
  margin-top:8px;
  font-size:.9rem;
}
.hp-auth-msg{margin-top:8px;color:#ffb}


.hp-header-auth{
  display:flex;
  align-items:center;
  gap:10px;
}
.hp-auth-box{
  display:flex;
  align-items:center;
  gap:8px;
  padding:6px 10px;
  border-radius:12px;
  border:1px solid rgba(255,255,255,.15);
  background:rgba(0,0,0,.25);
}
.hp-auth-box input{
  background:transparent;
  border:none;
  color:#fff;
  width:140px;
}
.hp-auth-link{font-weight:700}


/* Chat mic button */
.hpchat-mic{
  width:44px;
  padding:12px 0;
}


/* Auth button + modal */
.hp-auth-mini{display:flex; align-items:center; gap:10px}
.hp-auth-user{font-weight:800; opacity:.92}
.hp-auth-btn{
  display:inline-flex; align-items:center; justify-content:center;
  padding:10px 12px;
  border-radius:12px;
  border:1px solid rgba(255,255,255,.16);
  background: rgba(0,0,0,.20);
  color: var(--text);
  font-weight:800;
  cursor:pointer;
  text-decoration:none;
}
.hp-auth-login{background: rgba(0,167,181,.18); border-color: rgba(0,167,181,.35)}
.hp-auth-logout{background: rgba(0,0,0,.18)}
.hp-auth-btn:hover{border-color: rgba(0,167,181,.45)}

.hp-auth-modal[aria-hidden="true"]{display:none}
.hp-auth-modal{
  position:fixed; inset:0; z-index:9999;
  display:flex; align-items:center; justify-content:center;
}
.hp-auth-backdrop{
  position:absolute; inset:0;
  background: rgba(0,0,0,.55);
  backdrop-filter: blur(6px);
}
.hp-auth-dialog{
  position:relative;
  width:min(420px, 92vw);
  border-radius: 18px;
  border:1px solid rgba(255,255,255,.14);
  background: rgba(15,26,46,.92);
  box-shadow: 0 22px 70px rgba(0,0,0,.55);
  padding:16px;
}
.hp-auth-head{display:flex; align-items:center; justify-content:space-between; gap:10px; margin-bottom:10px}
.hp-auth-title{font-weight:900; letter-spacing:.2px; font-size:1.05rem}
.hp-auth-x{
  width:36px; height:36px;
  border-radius: 12px;
  border:1px solid rgba(255,255,255,.14);
  background: rgba(0,0,0,.20);
  color: var(--text);
  cursor:pointer;
}
.hp-auth-form label{display:block; margin:10px 0 6px; font-weight:800; color: rgba(234,240,255,.85)}
.hp-auth-form input{
  width:100%;
  padding:12px 12px;
  border-radius:12px;
  border:1px solid rgba(255,255,255,.14);
  background: rgba(0,0,0,.22);
  color: var(--text);
  outline:none;
}
.hp-auth-row{display:flex; align-items:center; justify-content:space-between; gap:10px; margin-top:12px}
.hp-auth-submit{
  padding:12px 14px;
  border-radius:12px;
  border:0;
  background: rgba(0,167,181,.92);
  color:#041018;
  font-weight:900;
  cursor:pointer;
}
.hp-auth-link{color: rgba(234,240,255,.85); font-weight:800; text-decoration:none}
.hp-auth-link:hover{text-decoration:underline}
.hp-auth-note{margin-top:12px; color: rgba(234,240,255,.70); font-size:.92rem; line-height:1.35}


/* Bigger Chat card + output */
#hpChatOut{
  max-height: 720px;
}
.hpchat-row{gap:10px}
.hpchat-aux{width:44px; padding:12px 0}
.hpchat-aux.is-active{
  border-color: rgba(0,167,181,.55);
  background: rgba(0,167,181,.14);
}
.hpchat-attachments{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:10px;
}
.hpchat-chip{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:8px 10px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.14);
  background: rgba(0,0,0,.18);
  font-weight:800;
}
.hpchat-chip button{
  border:0;
  background: transparent;
  color: rgba(234,240,255,.85);
  cursor:pointer;
  font-weight:900;
}
.hpchat-hint{
  margin-top:8px;
  color: rgba(234,240,255,.72);
  font-size:.92rem;
}
.hpchat-img{
  max-width:100%;
  border-radius:14px;
  margin-top:10px;
  border:1px solid rgba(255,255,255,.12);
}


/* HD toggle button */
#hpChatHdBtn{
  font-weight:900;
  letter-spacing:.5px;
}


/* ===== Layout: Portal-Bereich & Chat untereinander (100% Breite) ===== */
@media (min-width: 980px){
  .hpstart-main{
    display:grid !important;
    grid-template-columns: 1fr !important;
    gap: 18px !important;
  }
  .hpstart-main > *{
    width:100% !important;
    max-width:100% !important;
  }
}


/* ===== Fullwidth Chat Layout ===== */
.hpchat-fullwidth{
  width:100%;
  max-width:100%;
  grid-column: 1 / -1;
}

.hpchat-fullwidth .hpstart-card{
  width:100%;
  max-width:100%;
}

.hpchat-fullwidth #hpChatOut{
  min-height:60vh;
  max-height:70vh;
}

@media (min-width: 980px){
  .hpstart-main{
    grid-template-columns: 1fr !important;
  }
}

.hpchat-toolbar{display:flex; gap:8px; margin-bottom:10px}


/* Toolbar above input, input on its own row */
.hpchat-toolbar{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
  margin: 0 0 12px 0;
}
.hpchat-toolbar-spacer{ flex: 1 1 auto; }
.hpchat-inputrow{
  display:flex;
  align-items:flex-end;
  gap:12px;
}
.hpchat-inputrow .hpchat-textarea{ flex: 1 1 auto; }
.hpchat-send{ white-space: nowrap; }

/* Upload progress */
.hpchat-uploadwrap{ margin-top: 10px; }
.hpchat-uploadmeta{ font-size: 12px; opacity: .85; margin: 0 0 6px 2px; }
.hpchat-progress{
  width: 100%;
  height: 10px;
  border-radius: 999px;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(0,0,0,0.25);
}
.hpchat-progressbar{
  height: 100%;
  width: 0%;
  background: rgba(56,189,248,0.9);
  transition: width .15s linear;
}

/* Upload preview cards */
.hpchat-upload-head{ font-size: 13px; margin-bottom: 8px; opacity: .95; }
.hpchat-upload-sub{ font-size: 12px; opacity: .8; }
.hpchat-upload-img{ max-width: 100%; height: auto; border-radius: 10px; display:block; margin-top: 8px; }
.hpchat-upload-imglink{ display:block; }
