/*
 * KGL / Source Zero Parser — final shared presentation layer.
 * Used by both the Polish and English index files.
 */
@import url("./parser-base.css");

:root{
  --maxw:1280px;
}

/* Jeden neon dla elementów interaktywnych; niebieskie akcenty i tekst pozostają bez zmian. */
.panel.emerald a.linkline,
.faq .faq-note a,
.faq-a a,
.faq-cert a,
.btn-ghost-em,
.protocol-good a,
.cert{
  color:var(--parser-green);
}

.panel.emerald .panel-head .ic{
  color:var(--parser-green);
}

.panel.emerald a.linkline:hover,
.faq .faq-note a:hover,
.faq-a a:hover,
.faq-cert a:hover,
.protocol-good a:hover,
.cert:hover{
  color:var(--parser-green);
  border-color:var(--parser-green);
}

.faq .faq-note a,
.faq-a a,
.faq-cert a,
.protocol-good a{
  border-bottom-color:rgba(159,255,0,.48);
}

.btn-ghost-em{
  border-color:var(--parser-green);
}

.btn-ghost-em:hover{
  background:rgba(159,255,0,.1);
  box-shadow:0 0 34px -12px rgba(159,255,0,.7);
}

.dl-btn.primary,
.cookie-btn.accept{
  color:#050507;
  border-color:rgba(159,255,0,.72);
  background:var(--parser-green);
  box-shadow:0 0 40px -16px rgba(159,255,0,.78);
}

html.cookie-consent-pending,
html.cookie-consent-pending body{
  overflow:hidden !important;
}

html.cookie-consent-pending body > :not(#cookie-banner):not(script):not(style){
  filter:blur(15px);
  pointer-events:none;
  user-select:none;
}

html.cookie-consent-pending body::after{
  content:"";
  position:fixed;
  z-index:9998;
  inset:0;
  background:rgba(5,5,7,.54);
  backdrop-filter:blur(3px);
  -webkit-backdrop-filter:blur(3px);
}

.cookie-banner{
  position:fixed;
  z-index:9999;
  top:50%;
  right:auto;
  bottom:auto;
  left:50%;
  width:min(560px,calc(100% - 32px));
  max-width:560px;
  padding:28px;
  border:1px solid rgba(255,255,255,.18);
  border-radius:18px;
  background:rgba(8,9,12,.94);
  box-shadow:0 36px 100px -34px rgba(0,0,0,.95);
  backdrop-filter:blur(24px);
  -webkit-backdrop-filter:blur(24px);
  transform:translate(-50%,-42%) scale(.98);
}

.cookie-banner[hidden]{
  display:none;
}

.cookie-banner.show{
  transform:translate(-50%,-50%) scale(1);
}

.cookie-banner .cookie-text{
  font-size:.92rem;
  line-height:1.65;
  color:#c8ced8;
}

.cookie-banner .cookie-text strong{
  display:block;
  margin-bottom:7px;
  color:#f5f7fb;
  font-size:1.08rem;
}

.cookie-banner .cookie-actions{
  width:100%;
  margin-top:20px;
}

.cookie-banner .cookie-btn.accept{
  display:block;
  width:100%;
  min-height:48px;
  text-align:center;
}

.dl-btn.primary:hover{
  box-shadow:0 0 56px -12px rgba(159,255,0,.86);
}

html[data-contrast="high"] .dl-btn.primary,
html[data-contrast="high"] .cookie-btn.accept{
  color:#050507;
  border-color:#fff;
  background:var(--parser-green);
  box-shadow:none;
}

details[open] .faq-x::before,
details[open] .faq-x::after{
  background:var(--parser-green);
}

html,
body{
  max-width:100%;
  overflow-x:clip;
}

#main,
#protocol-title,
#wezly,
#trust-nodes,
#faq,
#kontakt,
#contact{
  scroll-margin-top:96px;
}

.ambient{
  background:linear-gradient(
    180deg,
    rgba(5,5,7,0) 0%,
    rgba(5,5,7,.52) 62%,
    rgba(5,5,7,.92) 100%
  );
}

.site-header,
html[data-theme="light"] .site-header{
  background:linear-gradient(
    180deg,
    rgba(237,238,245,.98) 0%,
    rgba(237,238,245,.92) 62%,
    rgba(237,238,245,.68) 82%,
    transparent 100%
  );
}

.site-header .brand,
.site-header .primary-nav a,
html[data-theme="light"] .site-header .brand,
html[data-theme="light"] .site-header .primary-nav a{
  color:#1f2228;
}

.site-header .control-group,
html[data-theme="light"] .site-header .control-group{
  border-color:rgba(0,0,0,.1);
  background:rgba(255,255,255,.74);
  box-shadow:0 10px 30px -22px rgba(28,31,40,.34);
}

.site-header .ctrl,
html[data-theme="light"] .site-header .ctrl{
  color:#24272d;
}

.site-header .primary-nav a:hover,
.site-header .ctrl:hover,
html[data-theme="light"] .site-header .primary-nav a:hover,
html[data-theme="light"] .site-header .ctrl:hover{
  color:#111318;
  background:rgba(0,0,0,.055);
}

.site-header .divider-v,
html[data-theme="light"] .site-header .divider-v{
  background:rgba(0,0,0,.12);
}

.mobile-menu-toggle,
.mobile-menu{
  display:none;
}

/* Stabilny hero: film jest tłem, pozostałe elementy nie wpadają w stary flow .hero. */
.parser-hero{
  --parser-bg:#EDEEF5;
  --parser-ink:#1a1a1a;
  min-height:92vh;
  color:#1a1a1a;
  background:#EDEEF5;
}

.parser-hero::after{
  content:"";
  position:absolute;
  z-index:5;
  right:0;
  bottom:0;
  left:0;
  height:1px;
  background:rgba(5,5,7,.82);
}

.parser-hero > .parser-video{
  position:absolute;
  z-index:0;
  top:-35vh;
  right:0;
  left:0;
  width:100%;
  height:127vh;
  aspect-ratio:auto;
  overflow:hidden;
  transform:none;
}

.parser-hero > .parser-hero-inner{
  position:relative;
  z-index:2;
}

/* Oryginalny materiał: pełna szerokość, bez filtrów i bez bocznego prostokąta. */
.parser-video video,
html:not([data-theme="light"]) .parser-video video,
html[data-theme="light"] .parser-video video{
  position:static;
  display:block;
  width:100%;
  height:100%;
  aspect-ratio:auto;
  object-fit:cover;
  object-position:center top;
  opacity:1;
  filter:none;
  transform:none;
}

.parser-video::after,
html:not([data-theme="light"]) .parser-video::after,
html[data-theme="light"] .parser-video::after{
  background:none;
}

.video-mask-top,
html:not([data-theme="light"]) .video-mask-top,
html[data-theme="light"] .video-mask-top{
  display:none;
  top:0;
  height:15vh;
  background:none;
}

.video-mask-bottom,
html:not([data-theme="light"]) .video-mask-bottom{
  display:none;
}

html[data-theme="light"] .video-mask-bottom{
  display:none;
}

.parser-hero-inner{
  width:100%;
  max-width:none;
  padding:8vh clamp(52px,7vw,134px) 0;
}

.parser-copy{
  width:min(950px,61vw);
  margin-left:0;
}

.parser-hero h1{
  font-size:clamp(3rem,4.1vw,4.9rem);
  line-height:1;
}

.parser-hero h1 .hero-bright{
  color:#1a1a1a;
  -webkit-text-stroke:1px rgba(237,238,245,.88);
  paint-order:stroke fill;
  text-shadow:0 3px 20px rgba(237,238,245,.32);
}

.parser-hero h1 .hero-muted{
  color:#8e8e8e;
  -webkit-text-stroke:1px rgba(237,238,245,.82);
  paint-order:stroke fill;
  text-shadow:0 3px 20px rgba(237,238,245,.26);
}

.parser-kicker{
  color:#3f434a;
}

.parser-lede{
  max-width:590px;
  margin-top:34px;
  color:#565a63;
  text-shadow:none;
}

.question-capsule{
  width:min(600px,100%);
  margin-top:0;
  border-color:rgba(0,0,0,.08);
  background:rgba(255,255,255,.9);
  box-shadow:0 18px 58px -30px rgba(25,28,38,.3);
}

.question-capsule input{
  color:#1a1a1a;
}

html[data-theme="light"] .question-capsule{
  border-color:rgba(0,0,0,.08);
  background:rgba(255,255,255,.88);
}

.contact{
  width:100%;
  padding:clamp(34px,4vw,56px);
}

.contact > .kgl-form-shell,
.contact > .question-preview{
  width:100%;
}

.kgl-form-shell{
  width:100%;
  padding:clamp(28px,4vw,52px);
}

.kgl-contact-form{
  width:100%;
}

.kgl-form-grid{
  gap:22px 24px;
}

.kgl-field input,
.kgl-field textarea{
  width:100%;
}

.trust-signature{
  display:flex;
  width:100%;
  align-items:flex-end;
  justify-content:space-between;
  gap:28px;
  margin-top:8px;
  padding:30px 2px 4px;
  border-top:1px solid var(--line);
}

.trust-signature div{
  display:flex;
  flex-direction:column;
  gap:8px;
}

.trust-signature span{
  color:var(--ink-faint);
  font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  font-size:.62rem;
  font-weight:600;
  letter-spacing:.18em;
}

.trust-signature strong{
  color:var(--ink);
  font-family:"Outfit",sans-serif;
  font-size:clamp(1.45rem,2.5vw,2.6rem);
  font-weight:500;
  line-height:1;
  letter-spacing:-.025em;
}

.trust-signature a{
  flex:0 0 auto;
  padding-bottom:4px;
  border-bottom:1px solid var(--line-strong);
  color:var(--ink-soft);
  font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  font-size:.82rem;
  text-decoration:none;
}

.trust-signature a:hover{
  color:var(--parser-green);
  border-color:var(--parser-green);
}

.back-to-top{
  position:fixed;
  z-index:90;
  right:clamp(18px,2.4vw,38px);
  bottom:clamp(18px,2.4vw,34px);
  display:flex;
  align-items:center;
  gap:9px;
  padding:9px 13px 9px 9px;
  border:1px solid rgba(255,255,255,.16);
  border-radius:999px;
  color:#f4f5f7;
  background:rgba(5,5,7,.72);
  box-shadow:0 18px 48px -22px rgba(0,0,0,.9);
  backdrop-filter:blur(16px);
  -webkit-backdrop-filter:blur(16px);
  cursor:pointer;
  opacity:0;
  pointer-events:none;
  transform:translateY(14px);
  transition:opacity .22s ease,transform .22s ease,border-color .22s ease;
}

.back-to-top svg{
  width:30px;
  height:30px;
  padding:7px;
  border-radius:50%;
  color:#050507;
  background:var(--parser-green);
}

.back-to-top span{
  font-size:.58rem;
  font-weight:700;
  letter-spacing:.14em;
}

.back-to-top.is-visible{
  opacity:1;
  pointer-events:auto;
  transform:translateY(0);
}

.back-to-top:hover{
  border-color:rgba(159,255,0,.65);
}

html[data-theme="light"] .back-to-top{
  color:#1a1a1a;
  border-color:rgba(0,0,0,.12);
  background:rgba(255,255,255,.78);
}

/*
 * Jasny motyw: elementy z twardo wpisanym jasnym kolorem w warstwie bazowej
 * muszą mieć ciemny odpowiednik. Dotyczy wszystkich kart treści w obu językach.
 */
html[data-theme="light"] .panel .big,
html[data-theme="light"] .faq h2,
html[data-theme="light"] .contact h2,
html[data-theme="light"] .protocol .protocol-title{
  color:#17181c;
  text-shadow:none;
}

html[data-theme="light"] details.faq-item summary:hover{
  color:#17181c;
}

html[data-theme="light"] .cta{
  color:#17181c;
  background:rgba(255,255,255,.72);
}

.abstract{
  position:relative;
  z-index:6;
  margin-top:-5vh;
  background:rgba(8,9,12,.9);
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
}

.abstract::before{
  background:linear-gradient(135deg,rgba(255,255,255,.025),transparent 34%);
}

.abstract .abstract-title{
  color:#eef1f6;
  text-shadow:0 1px 10px rgba(255,255,255,.12);
}

.abstract .doc-id{
  color:#cfd6e2;
  font-weight:600;
  text-shadow:0 1px 10px rgba(255,255,255,.1);
}

/* Jasny wariant protokołu: bez wybielonych, pastelowych plam. */
html[data-theme="light"] .protocol.card{
  background:rgba(247,248,251,.94);
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
}

html[data-theme="light"] .protocol-warn{
  border-color:rgba(198,40,32,.48);
  border-left-color:#d92d20;
  background:rgba(217,45,32,.085);
}

html[data-theme="light"] .protocol-warn .warn-title{
  color:#b42318;
}

html[data-theme="light"] .protocol-warn p{
  color:#454851;
}

html[data-theme="light"] .protocol-warn strong{
  color:#321411;
}

html[data-theme="light"] .protocol-good{
  border-color:rgba(159,255,0,.68);
  border-left-color:var(--parser-green);
  background:rgba(10,14,8,.94);
}

html[data-theme="light"] .protocol-good .good-title,
html[data-theme="light"] .protocol-good a{
  color:var(--parser-green);
}

html[data-theme="light"] .protocol-good li{
  color:#e4e9df;
}

html[data-theme="light"] .protocol-good strong{
  color:#fff;
}

@media (min-width:901px){
  .parser-hero-inner{
    height:92vh;
  }

  .question-capsule{
    position:absolute;
    right:auto;
    bottom:10vh;
    left:clamp(52px,7vw,134px);
    margin:0;
  }

  .question-help{
    position:absolute;
    bottom:6.4vh;
    left:calc(clamp(52px,7vw,134px) + 5px);
    margin:0;
  }

  .question-status{
    position:absolute;
    bottom:17vh;
    left:calc(clamp(52px,7vw,134px) + 5px);
    margin:0;
  }
}

/* Wysoki kontrast nie modyfikuje hero ani materiału filmowego. */
html[data-contrast="high"] .parser-hero{
  --parser-bg:#EDEEF5;
  --parser-ink:#1a1a1a;
  color:#1a1a1a;
  background:#EDEEF5;
}

html[data-contrast="high"] .parser-video{
  opacity:1;
}

html[data-contrast="high"] .parser-video video{
  opacity:1;
  filter:none;
}

html[data-contrast="high"] .parser-video::after{
  background:none;
}

html[data-contrast="high"] .parser-hero h1 .hero-bright{
  color:#1a1a1a;
}

html[data-contrast="high"] .parser-hero h1 .hero-muted{
  color:#8e8e8e;
}

html[data-contrast="high"] .parser-kicker,
html[data-contrast="high"] .parser-lede,
html[data-contrast="high"] .question-help{
  color:#565a63;
}

html[data-contrast="high"] .question-capsule{
  border-color:rgba(0,0,0,.08);
  background:rgba(255,255,255,.9);
  box-shadow:0 18px 58px -30px rgba(25,28,38,.3);
}

html[data-contrast="high"] .question-capsule input{
  color:#1a1a1a;
}

html[data-contrast="high"] .parser-rail{
  border-color:rgba(0,0,0,.1);
  background:rgba(255,255,255,.58);
}

html[data-contrast="high"] .parser-rail span,
html[data-contrast="high"] .parser-edge{
  color:#535760;
}

html[data-contrast="high"] .parser-rail b{
  color:var(--parser-green);
}

@media (max-width:900px){
  .parser-hero{
    min-height:100svh;
  }

  .parser-hero > .parser-video{
    top:-14vh;
    right:auto;
    left:50%;
    width:100%;
    height:114vh;
    aspect-ratio:auto;
    transform:translateX(-50%);
  }

  .parser-video video,
  html:not([data-theme="light"]) .parser-video video,
  html[data-theme="light"] .parser-video video{
    position:absolute;
    top:8vh;
    right:-52vw;
    width:220vw;
    height:auto;
    aspect-ratio:16/9;
    object-fit:contain;
    object-position:right top;
    transform:none;
  }

  .parser-video::after,
  html:not([data-theme="light"]) .parser-video::after,
  html[data-theme="light"] .parser-video::after{
    background:none;
  }

  .parser-hero-inner{
    padding:11vh 22px 0;
  }

  .parser-copy{
    width:100%;
  }

  .parser-hero h1{
    font-size:clamp(2.35rem,9vw,3.35rem);
    line-height:1.01;
  }

  .question-capsule{
    margin-top:70px;
  }

  .trust-signature{
    align-items:flex-start;
    flex-direction:column;
  }

  .trust-signature strong{
    font-size:clamp(1.35rem,7vw,2rem);
  }

  .back-to-top span{
    display:none;
  }

  .back-to-top{
    padding:7px;
  }

  .parser-rail{
    bottom:5vh;
  }
}

@media (max-width:760px){
  .parser-hero{
    min-height:0;
    padding-bottom:34px;
  }

  .site-header,
  html[data-theme="light"] .site-header{
    padding:10px 12px 14px;
    background:rgba(237,238,245,.96);
    box-shadow:0 8px 26px -22px rgba(5,5,7,.7);
    backdrop-filter:blur(18px);
    -webkit-backdrop-filter:blur(18px);
  }

  .header-tools{
    max-width:calc(100% - 48px);
    gap:4px;
  }

  .header-tools > .control-group[role="group"]{
    display:none;
  }

  .header-tools > .control-group:nth-of-type(2){
    display:flex;
  }

  .header-tools > div.control-group:nth-of-type(3){
    display:none;
  }

  .site-header .ctrl{
    min-height:30px;
    padding:6px 9px;
    font-size:.63rem;
  }

  .mobile-menu-toggle{
    position:relative;
    display:inline-flex;
    width:36px;
    height:34px;
    flex:0 0 36px;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:4px;
    padding:0;
    border:1px solid rgba(0,0,0,.1);
    border-radius:10px;
    color:#111318;
    background:rgba(255,255,255,.78);
    box-shadow:0 8px 24px -18px rgba(5,5,7,.8);
  }

  .mobile-menu-toggle span{
    display:block;
    width:15px;
    height:1.5px;
    border-radius:2px;
    background:currentColor;
    transition:transform .24s ease,opacity .18s ease;
  }

  .mobile-menu-toggle[aria-expanded="true"] span:nth-child(1){
    transform:translateY(5.5px) rotate(45deg);
  }

  .mobile-menu-toggle[aria-expanded="true"] span:nth-child(2){
    opacity:0;
  }

  .mobile-menu-toggle[aria-expanded="true"] span:nth-child(3){
    transform:translateY(-5.5px) rotate(-45deg);
  }

  .mobile-menu{
    position:fixed;
    z-index:79;
    top:58px;
    right:10px;
    left:10px;
    display:block;
    padding:18px;
    border:1px solid rgba(255,255,255,.14);
    border-radius:0 0 18px 18px;
    color:#f4f5f7;
    background:rgba(6,7,10,.96);
    box-shadow:0 30px 70px -30px rgba(0,0,0,.95);
    opacity:0;
    visibility:hidden;
    transform:translateY(-12px);
    backdrop-filter:blur(22px);
    -webkit-backdrop-filter:blur(22px);
    transition:opacity .22s ease,transform .22s ease,visibility .22s ease;
  }

  .mobile-menu[hidden]{
    display:none;
  }

  .mobile-menu.is-open{
    opacity:1;
    visibility:visible;
    transform:translateY(0);
  }

  .mobile-menu-nav{
    display:grid;
    gap:0;
  }

  .mobile-menu-nav a{
    padding:14px 4px;
    border-bottom:1px solid rgba(255,255,255,.1);
    color:#f4f5f7;
    font-family:"Outfit",sans-serif;
    font-size:1rem;
    font-weight:500;
    letter-spacing:.02em;
    text-decoration:none;
  }

  .mobile-menu-nav a:last-child{
    border-bottom:0;
  }

  .mobile-menu-accessibility{
    display:grid;
    grid-template-columns:1fr 1fr 2fr;
    gap:8px;
    margin-top:14px;
  }

  .mobile-menu-accessibility button{
    min-height:42px;
    border:1px solid rgba(255,255,255,.16);
    border-radius:10px;
    color:#f4f5f7;
    background:rgba(255,255,255,.06);
    font-size:.72rem;
    font-weight:600;
  }

  .mobile-menu-accessibility button[aria-pressed="true"]{
    color:#050507;
    border-color:var(--parser-green);
    background:var(--parser-green);
  }

  .parser-hero > .parser-video{
    position:relative;
    top:auto;
    right:auto;
    left:auto;
    width:100%;
    height:clamp(250px,72vw,300px);
    margin-top:58px;
    overflow:hidden;
    transform:none;
  }

  .parser-video video,
  html:not([data-theme="light"]) .parser-video video,
  html[data-theme="light"] .parser-video video{
    top:clamp(-128px,-30vw,-96px);
    right:-50vw;
    width:190vw;
    -webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 82%,transparent 100%);
    mask-image:linear-gradient(to bottom,#000 0%,#000 82%,transparent 100%);
  }

  .parser-hero-inner{
    padding:16px 16px 0;
  }

  .parser-hero h1{
    width:100%;
    max-width:none;
    font-size:clamp(2.1rem,9.2vw,2.55rem);
    line-height:1.01;
  }

  .parser-hero h1 .hero-muted{
    -webkit-text-stroke:0;
    paint-order:stroke fill;
  }

  .parser-lede{
    max-width:100%;
    margin-top:20px;
  }

  .question-capsule{
    margin-top:24px;
  }
}
