/* konto.css (04.11.2026): konto cybersory, kierunek B „Szkło nocne”.
   Szkło tylko na menu, oknach i komunikacie; głębia z warstw i miękkiego cienia, 1 px światła u góry zamiast ramki.
   Promienie koncentryczne: okno 28 → karta 16 → wiersz 12, menu 18, przyciski kapsuła. Jeden kątownik krwi na oknie. */
:root{
  /* paleta zamknięta: ink / krew / hot / kość; --th-solid to pełna krew przycisków strony (biały tekst 4.5:1+) */
  --kn-ink:#0e0e12;--kn-krew:var(--th-solid,#d4132b);--kn-krew2:#e11d33;--kn-hot:#ff3a52;--kn-kosc:#f6f2f3;
  --kn-szary:rgba(246,242,243,.68);--kn-jasny:rgba(246,242,243,.86);--kn-przygaszony:rgba(246,242,243,.78);
  --kn-szklo:rgba(26,26,32,.72);--kn-warstwa:rgba(14,14,18,.6);--kn-hover:rgba(246,242,243,.08);
  --kn-cien:inset 0 1px 0 rgba(246,242,243,.16),0 30px 80px rgba(0,0,0,.55);
  --kn-sans:var(--f-sans,'Sora',system-ui,sans-serif);--kn-mono:var(--mono,'Geist Mono',ui-monospace,monospace);
  --kn-sprezyna:cubic-bezier(.32,.72,0,1);
}
.kn-szklo{background:var(--kn-szklo);-webkit-backdrop-filter:blur(20px) saturate(140%);backdrop-filter:blur(20px) saturate(140%);box-shadow:var(--kn-cien);}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){.kn-szklo{background:rgba(26,26,32,.97);}}
.kn-ico{width:18px;height:18px;flex:none;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;}
.kn-mono{font-family:var(--kn-mono);}

/* ---------- przycisk w pasku ---------- */
.kn-av{position:relative;display:grid;place-items:center;width:44px;height:44px;padding:0;border-radius:999px;cursor:pointer;flex:none;
  color:#fff;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.10);transition:background .2s ease,box-shadow .2s ease;}
.kn-av:hover{background:rgba(255,255,255,.08);}
.kn-av:focus-visible{outline:2px solid var(--kn-hot);outline-offset:3px;}
.kn-av .kn-ico{width:20px;height:20px;}
.kn-av--ja{border:0;background:transparent;}
.kn-av--ja img{width:40px;height:40px;border-radius:999px;display:block;object-fit:cover;}
.kn-av--ja[aria-expanded="true"]{box-shadow:0 0 0 2px rgba(14,14,18,.8),0 0 0 4px var(--kn-hot);}
.kn-av[aria-busy="true"]{opacity:.6;}

/* wąski pasek (zmierzone 04.11: na 375 brakowało 52 px, przycisk konta wjeżdżał na logo).
   Do 440 px ciaśniej, do 410 px „Napisz do nas” chowa się jak przy koszyku (Kontakt zostaje w menu i u Meshugi). */
@media (max-width:440px){.nav__side:has(.kn-av){gap:.5rem;}}
@media (max-width:410px){.nav__side:has(.kn-av) .nav__cta{display:none;}}

/* ---------- menu konta ---------- */
.kn-menu{position:fixed;z-index:1200;width:min(300px,calc(100vw - 32px));box-sizing:border-box;padding:6px;border-radius:18px;
  display:flex;flex-direction:column;gap:2px;color:var(--kn-kosc);font:14px/1.3 var(--kn-sans);background:rgba(26,26,32,.78);
  transform-origin:top right;animation:kn-menu-in .22s var(--kn-sprezyna);}
.kn-menu[hidden]{display:none;}
@keyframes kn-menu-in{from{opacity:0;transform:translateY(-6px) scale(.97);}}
.kn-menu__kto{display:flex;align-items:center;gap:12px;padding:10px 10px 12px;}
.kn-menu__kto img{width:40px;height:40px;border-radius:999px;flex:none;object-fit:cover;}
.kn-menu__kto b{display:block;font-size:15px;font-weight:600;overflow-wrap:anywhere;}
.kn-menu__kto span{display:block;font:12px/1.4 var(--kn-mono);color:var(--kn-szary);}
.kn-wiersz{display:flex;align-items:center;gap:12px;width:100%;min-height:44px;padding:0 12px;box-sizing:border-box;border:0;border-radius:12px;
  background:transparent;color:var(--kn-kosc);font:inherit;text-align:left;cursor:pointer;}
.kn-wiersz:hover,.kn-wiersz:focus-visible{background:var(--kn-hover);outline:none;}
.kn-wiersz:focus-visible{box-shadow:inset 0 0 0 2px var(--kn-hot);}
.kn-wiersz__po{margin-left:auto;font:12px var(--kn-mono);color:var(--kn-szary);}
.kn-pill{margin-left:auto;font-size:12px;padding:2px 8px;border-radius:999px;background:var(--kn-krew);color:#fff;}
.kn-sep{height:1px;margin:4px 12px;background:rgba(246,242,243,.1);}

/* ---------- okna (dialog) ---------- */
.kn-dlg{position:fixed;inset:0;margin:auto;padding:0;border:0;border-radius:28px;box-sizing:border-box;overflow:visible;
  color:var(--kn-kosc);font:15px/1.5 var(--kn-sans);max-height:calc(100dvh - 32px);}
.kn-dlg[open]{animation:kn-okno-in .32s var(--kn-sprezyna);}
@keyframes kn-okno-in{from{opacity:0;transform:translateY(12px) scale(.98);}}
.kn-dlg::backdrop{background:rgba(6,6,9,.5);}
.kn-dlg__in{position:relative;display:flex;flex-direction:column;gap:16px;padding:12px;max-height:calc(100dvh - 32px);box-sizing:border-box;overflow:auto;border-radius:inherit;overscroll-behavior:contain;}
.kn-kat{position:absolute;left:14px;top:14px;width:16px;height:16px;border-left:1.5px solid var(--kn-hot);border-top:1.5px solid var(--kn-hot);border-top-left-radius:6px;pointer-events:none;}
.kn-x{position:absolute;right:16px;top:16px;z-index:1;}
.kn-h{margin:0;font:600 20px/1.25 var(--kn-sans);letter-spacing:-.01em;}
.kn-lab{font-size:13px;color:var(--kn-szary);}
.kn-pod{margin:0;font-size:14px;line-height:1.5;color:var(--kn-jasny);}

/* przyciski */
.kn-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 20px;border-radius:999px;border:0;
  font:600 15px var(--kn-sans);cursor:pointer;text-decoration:none;transition:background .15s ease,transform .15s ease;}
.kn-btn:active{transform:scale(.97);}
.kn-btn:focus-visible{outline:2px solid var(--kn-hot);outline-offset:3px;}
.kn-btn:disabled{opacity:.5;cursor:not-allowed;transform:none;}
.kn-btn--p{background:var(--kn-krew);color:#fff;}
.kn-btn--p:hover:not(:disabled){background:var(--kn-krew2);}
.kn-btn--g{background:rgba(246,242,243,.1);color:var(--kn-kosc);}
.kn-btn--g:hover:not(:disabled){background:rgba(246,242,243,.16);}
.kn-btn--o{width:44px;padding:0;}
.kn-btn--ostrz{background:transparent;color:var(--kn-hot);box-shadow:inset 0 0 0 1px rgba(255,58,82,.45);}
.kn-btn--ostrz:hover:not(:disabled){background:rgba(255,58,82,.1);}
.kn-link{background:none;border:0;padding:0;min-height:44px;font:inherit;font-size:14px;color:var(--kn-hot);cursor:pointer;text-decoration:underline;text-underline-offset:3px;}
.kn-link:hover{color:var(--kn-kosc);}
.kn-link:focus-visible{outline:2px solid var(--kn-hot);outline-offset:2px;border-radius:4px;}

/* pola */
.kn-pole{display:flex;flex-direction:column;gap:6px;}
.kn-pole label{font-size:13px;color:var(--kn-szary);}
.kn-in{min-height:44px;padding:0 14px;border-radius:12px;border:0;box-sizing:border-box;width:100%;
  background:rgba(14,14,18,.7);box-shadow:inset 0 0 0 1px rgba(246,242,243,.10);color:var(--kn-kosc);font:16px var(--kn-sans);}
.kn-in:focus{outline:none;box-shadow:inset 0 0 0 2px var(--kn-hot);}
.kn-in[aria-invalid="true"]{box-shadow:inset 0 0 0 2px var(--kn-hot);}
.kn-blad{margin:0;min-height:1.2em;font-size:14px;color:var(--kn-hot);}
.kn-blad:empty{min-height:0;}

/* zakładki-pigułki */
.kn-taby{align-self:center;display:flex;gap:2px;padding:4px;border-radius:999px;background:rgba(14,14,18,.55);max-width:100%;overflow-x:auto;scrollbar-width:none;}
.kn-taby::-webkit-scrollbar{display:none;}
.kn-tab{flex:none;display:inline-flex;align-items:center;min-height:36px;padding:0 14px;border-radius:999px;border:0;background:transparent;
  color:var(--kn-przygaszony);font:14px var(--kn-sans);cursor:pointer;transition:background .2s ease,color .2s ease;}
.kn-tab:hover{color:var(--kn-kosc);background:rgba(246,242,243,.06);}
.kn-tab[aria-selected="true"]{background:rgba(246,242,243,.14);color:var(--kn-kosc);}
.kn-tab:focus-visible{outline:2px solid var(--kn-hot);outline-offset:1px;}

/* ---------- logowanie ---------- */
.kn-log{width:min(420px,calc(100vw - 32px));}
.kn-log .kn-dlg__in{padding:28px 24px 24px;gap:18px;}
.kn-log form{display:flex;flex-direction:column;gap:14px;}
.kn-log .kn-btn--p{width:100%;}
.kn-kod{display:flex;align-items:center;justify-content:center;min-height:64px;padding:12px;border-radius:16px;
  border:1.5px dashed var(--kn-hot);font:500 22px/1 var(--kn-mono);letter-spacing:.08em;user-select:all;text-align:center;}
.kn-rzad{display:flex;flex-wrap:wrap;gap:8px;}
.kn-rzad--k{justify-content:flex-end;}

/* ---------- Moje konto ---------- */
.kn-ark{width:min(760px,calc(100vw - 32px));}
.kn-ark .kn-dlg__in{min-height:min(620px,calc(100dvh - 32px));}   /* stała minimalna wysokość: zakładki nie skaczą oknem */
.kn-glowa{display:flex;flex-direction:column;align-items:center;gap:6px;padding-top:28px;text-align:center;}
.kn-glowa__av{position:relative;}
.kn-glowa__av img{width:104px;height:104px;border-radius:999px;display:block;object-fit:cover;}
.kn-aparat{position:absolute;right:-4px;bottom:-4px;width:40px;height:40px;border-radius:999px;border:0;background:var(--kn-krew);color:#fff;
  display:grid;place-items:center;cursor:pointer;box-shadow:0 0 0 3px rgba(26,26,32,.9);}
.kn-aparat:hover{background:var(--kn-krew2);}
.kn-aparat:focus-visible{outline:2px solid var(--kn-hot);outline-offset:3px;}
.kn-glowa h2{margin:6px 0 0;font:600 26px/1.2 var(--kn-sans);letter-spacing:-.02em;overflow-wrap:anywhere;}
.kn-glowa .kn-mono{font-size:13px;color:var(--kn-szary);}
.kn-panel{padding:0 12px 12px;display:flex;flex-direction:column;gap:12px;}
.kn-panel[hidden]{display:none;}
.kn-siatka{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;}
.kn-karta{background:var(--kn-warstwa);border-radius:16px;padding:18px;display:flex;flex-direction:column;gap:10px;box-shadow:inset 0 1px 0 rgba(246,242,243,.06);min-width:0;}
button.kn-karta{border:0;font:inherit;color:inherit;text-align:left;cursor:pointer;transition:background .2s ease;}
button.kn-karta:hover{background:rgba(30,30,38,.75);}
button.kn-karta:focus-visible{outline:2px solid var(--kn-hot);outline-offset:2px;}
.kn-poz{display:flex;justify-content:space-between;gap:12px;font-size:15px;}
.kn-poz span:first-child{overflow-wrap:anywhere;}
.kn-poz span:last-child{font-family:var(--kn-mono);font-size:14px;white-space:nowrap;}
.kn-duzy{font:500 30px/1 var(--kn-mono);}
.kn-lista{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px;}
.kn-lista li{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:12px;background:var(--kn-warstwa);}
.kn-lista li > span:first-child{flex:1;min-width:0;overflow-wrap:anywhere;}
.kn-cena{font:14px var(--kn-mono);white-space:nowrap;color:var(--kn-jasny);}
.kn-suma{display:flex;justify-content:space-between;align-items:baseline;padding:4px 4px 0;}
.kn-suma b{font:600 22px var(--kn-mono);}
.kn-kroki{display:flex;flex-wrap:wrap;gap:6px 14px;margin:0;padding:0;list-style:none;}
.kn-krok{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--kn-szary);}
.kn-krok i{width:8px;height:8px;border-radius:50%;background:rgba(246,242,243,.2);}
.kn-krok--byl i{background:var(--kn-szary);}
.kn-krok--teraz{color:var(--kn-kosc);}
.kn-krok--teraz i{background:var(--kn-hot);}
.kn-pusto{margin:0;padding:24px 12px;text-align:center;color:var(--kn-szary);font-size:14px;}
.kn-stopka{margin-top:auto;display:flex;align-items:center;gap:12px;padding:14px 16px;border-radius:16px;background:var(--kn-warstwa);font-size:14px;color:var(--kn-jasny);}
.kn-ostrz{margin:0;padding:12px 14px;border-radius:12px;background:rgba(255,58,82,.08);font-size:14px;line-height:1.5;color:var(--kn-jasny);}
.kn-ladowanie{display:grid;place-items:center;min-height:200px;color:var(--kn-szary);font-size:14px;}

/* ---------- kadrowanie ---------- */
.kn-kadr{width:min(616px,calc(100vw - 32px));}
.kn-kadr .kn-dlg__in{flex-direction:row;gap:20px;}
.kn-scena{position:relative;width:356px;height:356px;flex:none;border-radius:16px;overflow:hidden;background:rgba(246,242,243,.1);touch-action:none;cursor:grab;user-select:none;}
.kn-scena:active{cursor:grabbing;}
.kn-scena:focus-visible{outline:2px solid var(--kn-hot);outline-offset:2px;}
.kn-scena img{position:absolute;left:0;top:0;max-width:none;transform-origin:0 0;pointer-events:none;}
.kn-scena__kolo{position:absolute;inset:10%;border-radius:999px;box-shadow:0 0 0 400px rgba(14,14,18,.55),inset 0 0 0 2px rgba(246,242,243,.9);pointer-events:none;}
.kn-scena__pusto{position:absolute;inset:0;display:grid;place-items:center;align-content:center;gap:12px;padding:24px;text-align:center;color:var(--kn-jasny);font-size:14px;}
.kn-kadr__bok{flex:1;min-width:0;padding:12px 8px 4px 0;display:flex;flex-direction:column;gap:14px;}
.kn-zoom{display:flex;align-items:center;gap:10px;}
.kn-zoom input{flex:1;accent-color:var(--kn-krew2);min-height:44px;}
.kn-koty{display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
.kn-koty .kn-lab{flex-basis:100%;}
.kn-kot{width:44px;height:44px;padding:0;border:0;border-radius:999px;background:transparent;cursor:pointer;}
.kn-kot img{width:44px;height:44px;border-radius:999px;display:block;}
.kn-kot[aria-pressed="true"]{box-shadow:0 0 0 2px rgba(22,22,27,.9),0 0 0 4px var(--kn-hot);}
.kn-kot:focus-visible{outline:2px solid var(--kn-hot);outline-offset:5px;}
.kn-kadr__akcje{margin-top:auto;display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap;}

/* ---------- komunikat ---------- */
/* popover: komunikat leży w warstwie górnej, więc widać go także nad otwartym oknem konta */
.kn-toast{position:fixed;z-index:1300;inset:84px 16px auto auto;margin:0;border:0;overflow:visible;width:min(320px,calc(100vw - 32px));box-sizing:border-box;padding:14px 16px;border-radius:18px;
  display:flex;gap:12px;align-items:flex-start;font:14px/1.45 var(--kn-sans);color:var(--kn-kosc);animation:kn-menu-in .25s var(--kn-sprezyna);}
.kn-toast:not(:popover-open){display:none;}
.kn-toast__ok{width:28px;height:28px;flex:none;border-radius:999px;background:var(--kn-krew);color:#fff;display:grid;place-items:center;}

/* ---------- telefon: okna jako arkusz od dołu ---------- */
@media (max-width:600px){
  .kn-dlg{margin:auto 0 0;width:100vw;max-width:100vw;border-radius:28px 28px 0 0;max-height:92dvh;}
  .kn-dlg__in{max-height:92dvh;padding-bottom:calc(12px + env(safe-area-inset-bottom));}
  .kn-dlg[open]{animation:kn-arkusz-in .36s var(--kn-sprezyna);}
  @keyframes kn-arkusz-in{from{transform:translateY(100%);}}
  .kn-ark{height:92dvh;}
  .kn-log .kn-dlg__in{padding:24px 16px 16px;}
  .kn-siatka{grid-template-columns:minmax(0,1fr);}
  .kn-lista li{flex-wrap:wrap;row-gap:4px;}
  .kn-lista li > span:first-child{flex-basis:100%;}
  .kn-kadr .kn-dlg__in{flex-direction:column;padding-top:24px;}
  .kn-scena{width:100%;height:auto;aspect-ratio:1;max-width:356px;align-self:center;}
  .kn-kadr__bok{padding:0 4px;}
  .kn-taby{align-self:stretch;}
  .kn-toast{inset:auto 16px calc(88px + env(safe-area-inset-bottom)) 16px;width:auto;}
}
@media (prefers-reduced-motion:reduce){
  .kn-menu,.kn-dlg[open],.kn-toast{animation:none !important;}
  .kn-btn,.kn-tab,.kn-av{transition:none;}
  .kn-btn:active{transform:none;}
}
