.auth-modal-backdrop{
  position:fixed;
  inset:0;
  z-index:9998;
  display:grid;
  place-items:center;
  padding:20px;
  background:rgba(31,24,20,.54);
  -webkit-backdrop-filter:none;
  backdrop-filter:none;
  opacity:0;
  pointer-events:none;
  transition:opacity .2s ease;
}

.auth-modal-backdrop.is-open{
  opacity:1;
  pointer-events:auto;
}

.auth-modal{
  position:relative;
  width:min(430px,100%);
  overflow:hidden;
  border:1px solid rgba(255,255,255,.46);
  border-radius:30px;
  background:
    radial-gradient(circle at 18% 0%, rgba(255,224,184,.85), transparent 34%),
    radial-gradient(circle at 100% 8%, rgba(126,184,137,.38), transparent 34%),
    linear-gradient(180deg,#fffaf5 0%,#f6eadf 100%);
  color:#3f2f27;
  box-shadow:0 34px 90px rgba(31,24,20,.32);
  transform:translateY(12px) scale(.98);
  transition:transform .2s ease;
}

.auth-modal-backdrop.is-open .auth-modal{
  transform:translateY(0) scale(1);
}

.auth-modal-close{
  position:absolute;
  top:16px;
  right:16px;
  width:38px;
  height:38px;
  border:1px solid rgba(132,94,66,.16);
  border-radius:999px;
  background:rgba(255,255,255,.68);
  color:#5f4638;
  cursor:pointer;
  font-size:23px;
  line-height:1;
}

.auth-modal-inner{
  padding:34px 30px 30px;
}

.auth-modal-kicker{
  display:inline-flex;
  justify-content:center;
  margin:0 auto 14px;
  padding:8px 12px;
  border:1px solid rgba(132,94,66,.14);
  border-radius:999px;
  background:rgba(255,255,255,.5);
  color:#7b604f;
  font-size:11px;
  font-weight:900;
  letter-spacing:.14em;
  text-align:center;
  text-transform:uppercase;
}

.auth-modal h2{
  margin:0;
  font-family:Georgia,serif;
  font-size:38px;
  line-height:.96;
  letter-spacing:-.04em;
}

.auth-modal-subtitle{
  margin:12px 0 22px;
  color:#735d4f;
  font-size:15px;
  line-height:1.55;
}

.auth-form{
  display:grid;
  gap:12px;
}

.auth-field{
  display:grid;
  gap:7px;
  color:#6b5548;
  font-size:13px;
  font-weight:850;
}

.auth-field[hidden]{
  display:none;
}

.auth-field input{
  width:100%;
  border:1px solid rgba(132,94,66,.18);
  border-radius:18px;
  background:rgba(255,255,255,.76);
  color:#3f2f27;
  font:inherit;
  padding:15px 16px;
  outline:none;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.78);
}

.auth-field input:focus{
  border-color:rgba(95,127,80,.48);
  box-shadow:0 0 0 4px rgba(126,184,137,.16), inset 0 1px 0 rgba(255,255,255,.78);
}

.auth-submit{
  width:100%;
  border:0;
  border-radius:999px;
  background:#332821;
  color:#fff;
  cursor:pointer;
  font:inherit;
  font-weight:950;
  margin-top:4px;
  padding:15px 20px;
  box-shadow:0 18px 34px rgba(51,40,33,.22);
}

.auth-submit:hover{
  transform:translateY(-1px);
}

.auth-forgot{
  display:block;
  width:max-content;
  margin:12px auto 0;
  border:0;
  background:transparent;
  color:#70594b;
  cursor:pointer;
  font:inherit;
  font-size:13px;
  font-weight:900;
  padding:0;
  text-decoration:underline;
  text-underline-offset:4px;
}

.auth-forgot[hidden]{
  display:none;
}

.auth-divider{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
  margin:16px 0;
  color:#8a7161;
  font-size:12px;
  font-weight:850;
  text-transform:uppercase;
  letter-spacing:.12em;
}

.auth-divider::before,
.auth-divider::after{
  content:"";
  flex:1;
  height:1px;
  background:rgba(132,94,66,.16);
}

.auth-divider span{
  padding:0 12px;
}

.auth-google{
  width:100%;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  border:1px solid rgba(132,94,66,.18);
  border-radius:999px;
  background:rgba(255,255,255,.76);
  color:#3f2f27;
  cursor:pointer;
  font:inherit;
  font-weight:950;
  padding:14px 18px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.78);
}

.auth-google:hover{
  transform:translateY(-1px);
  border-color:rgba(95,127,80,.32);
}

.auth-google-icon{
  display:grid;
  place-items:center;
  width:24px;
  height:24px;
  border-radius:50%;
  background:#fff;
  color:#4285f4;
  font-weight:950;
  box-shadow:0 2px 8px rgba(31,24,20,.1);
}

.auth-switch{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  margin-top:18px;
  color:#70594b;
  font-size:14px;
}

.auth-switch button{
  border:0;
  background:transparent;
  color:#3f2f27;
  cursor:pointer;
  font:inherit;
  font-weight:950;
  padding:0;
  text-decoration:underline;
  text-underline-offset:4px;
}

.auth-modal-message{
  margin:0 0 14px;
  padding:12px 14px;
  border-radius:16px;
  font-size:14px;
  font-weight:850;
  line-height:1.45;
}

.auth-modal-message[hidden]{
  display:none;
}

.auth-modal-message[data-type="success"]{
  background:rgba(126,184,137,.18);
  color:#496d42;
}

.auth-modal-message[data-type="error"]{
  background:rgba(191,92,72,.14);
  color:#8c3a2c;
}

.auth-signed-in{
  display:grid;
  gap:14px;
}

.auth-signed-in[hidden]{
  display:none;
}

.auth-account-row{
  padding:14px;
  border:1px solid rgba(132,94,66,.12);
  border-radius:18px;
  background:rgba(255,255,255,.52);
  color:#6f5a4c;
  font-size:14px;
}

.auth-account-row strong{
  display:block;
  color:#3f2f27;
  font-size:16px;
  margin-top:4px;
}

.auth-links{
  display:grid;
  grid-template-columns:1fr 1fr 1fr;
  gap:8px;
}

.auth-link{
  display:inline-flex;
  justify-content:center;
  border:1px solid rgba(132,94,66,.14);
  border-radius:999px;
  background:rgba(255,255,255,.58);
  color:#3f2f27;
  font-size:13px;
  font-weight:900;
  padding:11px 12px;
  text-decoration:none;
}

.auth-logout{
  border:0;
  background:transparent;
  color:#70594b;
  cursor:pointer;
  font:inherit;
  font-weight:900;
  padding:8px;
  text-decoration:underline;
  text-underline-offset:4px;
}

body.auth-modal-open{
  overflow:hidden;
}

body.kp-daily-reward-open{
  overflow:hidden;
}

.kp-karma-shop-backdrop{
  position:fixed;
  inset:0;
  /* Nad .kp-settings-backdrop (2147483004), např. Karma obchod — jinak je topup pod shop vrstvou a klik na „Koupit balíček“ neproběhne. */
  z-index:2147483005;
  display:none;
  align-items:center;
  justify-content:center;
  padding:24px;
  background:rgba(49,32,22,.45);
  backdrop-filter:none;
}

.kp-karma-shop-backdrop.is-open{
  display:flex;
}

body.kp-karma-overlay-open .page{
  z-index:auto !important;
}

body.kp-karma-overlay-open .page > :not(.nav){
  filter:blur(8px);
  transition:filter .2s ease;
}

body.kp-karma-overlay-open .page > .nav{
  filter:none !important;
  position:relative;
  z-index:10050 !important;
  background:rgba(255,248,239,.54) !important;
  -webkit-backdrop-filter:blur(18px) !important;
  backdrop-filter:blur(18px) !important;
  box-shadow:0 16px 42px rgba(132,94,66,.08) !important;
}

body.kp-karma-overlay-open header.nav,
body.kp-karma-overlay-open .nav{
  position:relative;
  z-index:10050 !important;
  filter:none !important;
  background:rgba(255,248,239,.54) !important;
  -webkit-backdrop-filter:blur(18px) !important;
  backdrop-filter:blur(18px) !important;
  box-shadow:0 16px 42px rgba(132,94,66,.08) !important;
}

body.kp-karma-overlay-open .page > main,
body.kp-karma-overlay-open .page > footer,
body.kp-karma-overlay-open .page > section{
  filter:blur(8px);
  transition:filter .2s ease;
}

.kp-karma-shop-modal{
  position:relative;
  width:min(980px, 100%);
  max-height:min(88vh, 860px);
  overflow:auto;
  border:1px solid rgba(180,132,88,.3);
  border-radius:28px;
  background:
    radial-gradient(circle at 12% 14%, rgba(245,222,192,.62), transparent 38%),
    linear-gradient(180deg, #fff8ef 0%, #fffefb 100%);
  box-shadow:0 36px 72px rgba(73,45,29,.28), inset 0 1px 0 rgba(255,255,255,.85);
}

.kp-karma-shop-close{
  position:absolute;
  top:14px;
  right:14px;
  width:36px;
  height:36px;
  border:1px solid rgba(171,126,86,.24);
  border-radius:50%;
  background:#fff;
  color:#8c6547;
  font-size:24px;
  line-height:1;
  cursor:pointer;
}

.kp-karma-shop-content{
  padding:32px 28px 30px;
}

.kp-karma-shop-layout{
  display:grid;
  grid-template-columns:240px minmax(0,1fr);
  gap:16px;
}

.kp-karma-shop-sidebar{
  border:1px solid rgba(188,139,95,.25);
  border-radius:20px;
  padding:16px;
  background:linear-gradient(170deg, rgba(255,250,243,.95), rgba(246,226,197,.72));
  box-shadow:0 12px 26px rgba(95,62,37,.1);
}

.kp-karma-shop-sidebar h3{
  margin:0 0 8px;
  font-family:"Cormorant Garamond", Georgia, serif;
  font-size:38px;
  line-height:1;
  color:#4f3124;
}

.kp-karma-shop-sidebar > p{
  margin:0 0 12px;
  color:#6f503c;
  font-size:14px;
  line-height:1.4;
}

.kp-karma-shop-tabs{
  display:grid;
  gap:8px;
  margin-bottom:14px;
}

.kp-karma-shop-tab{
  appearance:none;
  -webkit-appearance:none;
  border:1px solid rgba(187,127,66,.24);
  border-radius:12px;
  min-height:40px;
  padding:0 12px;
  background:#fff;
  color:#6b4730;
  font-size:13px;
  font-weight:800;
  text-align:left;
  cursor:pointer;
}

.kp-karma-shop-tab.is-active{
  border-color:rgba(187,127,66,.46);
  background:linear-gradient(180deg, rgba(232,192,139,.28), rgba(255,255,255,.84));
  color:#3f2a1f;
}

.kp-karma-sidebar-pill{
  margin-top:10px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  min-height:24px;
  padding:0 8px;
  border-radius:10px;
  border:1px solid rgba(187,127,66,.3);
  background:linear-gradient(135deg, rgba(245,222,192,.52), rgba(255,248,236,.92));
  color:#7c5537;
  overflow:visible;
}

.kp-karma-sidebar-pill img{
  width:80px;
  height:80px;
  object-fit:contain;
  display:block;
}

.kp-karma-sidebar-pill strong{
  font-size:14px;
  font-weight:900;
  line-height:1;
}

.kp-karma-shop-balance{
  border-top:1px solid rgba(187,127,66,.2);
  padding-top:12px;
}

.kp-karma-shop-balance p{
  margin:0 0 8px;
  color:#7a5c47;
  font-size:13px;
}

.kp-karma-shop-balance button{
  appearance:none;
  -webkit-appearance:none;
  width:100%;
  min-height:40px;
  border-radius:999px;
  border:1px solid rgba(148,96,50,.32);
  background:linear-gradient(180deg,#d9a665 0%,#bf7f40 100%);
  color:#fff8ef;
  font-size:12px;
  font-weight:900;
  letter-spacing:.04em;
  text-transform:uppercase;
  cursor:pointer;
}

.kp-karma-shop-main{
  border:1px solid rgba(188,139,95,.2);
  border-radius:20px;
  padding:14px;
  background:rgba(255,252,247,.9);
}

.kp-karma-shop-message{
  margin:0 0 12px;
  border:1px solid rgba(187,127,66,.24);
  border-radius:12px;
  background:rgba(255,246,235,.95);
  color:#7b4f2d;
  font-size:13px;
  font-weight:700;
  padding:8px 10px;
}

.kp-karma-shop-toolbar{
  display:flex;
  justify-content:flex-end;
  margin:0 0 12px;
}

.kp-karma-reward-grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0,1fr));
  gap:10px;
}

.kp-karma-reward-card{
  border:1px solid rgba(179,133,90,.2);
  border-radius:14px;
  padding:12px;
  background:linear-gradient(160deg, rgba(255,255,255,.95), rgba(250,240,226,.76));
}

.kp-karma-reward-card h4{
  margin:0 0 7px;
  color:#513226;
  font-family:"Cormorant Garamond", Georgia, serif;
  font-size:28px;
  line-height:1;
}

.kp-karma-reward-card p{
  margin:0;
  color:#755843;
  font-size:13px;
  line-height:1.4;
}

.kp-karma-reward-foot{
  margin-top:10px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
}

.kp-karma-reward-foot strong{
  color:#6a4328;
  font-size:14px;
}

.kp-karma-reward-foot button{
  appearance:none;
  -webkit-appearance:none;
  min-height:34px;
  padding:0 12px;
  border-radius:999px;
  border:1px solid rgba(148,96,50,.32);
  background:linear-gradient(180deg,#d9a665 0%,#bf7f40 100%);
  color:#fff8ef;
  font-size:11px;
  font-weight:900;
  letter-spacing:.03em;
  text-transform:uppercase;
  cursor:pointer;
}

.kp-karma-shop-panel{
  border:1px solid rgba(194,145,101,.24);
  border-radius:20px;
  padding:18px 18px 16px;
  background:linear-gradient(130deg, rgba(255,250,243,.95) 0%, rgba(246,226,197,.72) 100%);
  margin-bottom:16px;
}

.kp-karma-shop-kicker{
  margin:0 0 8px;
  font-size:11px;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:#a17145;
  font-weight:800;
}

.kp-karma-shop-panel .kp-karma-shop-pill{
  margin:-10px auto 8px;
  display:flex;
  width:max-content;
  align-items:center;
  justify-content:center;
  min-height:24px;
  padding:0 10px;
  border-radius:999px;
  border:1px solid rgba(187,127,66,.3);
  background:linear-gradient(135deg, rgba(245,222,192,.56), rgba(255,248,236,.92));
  color:#8a5e3a;
  font-size:10px;
  letter-spacing:.1em;
  text-transform:uppercase;
  font-weight:800;
}

.kp-karma-settings-modal .kp-settings-content .kp-karma-shop-pill{
  margin:0 auto 10px !important;
  display:flex !important;
  width:max-content !important;
  align-items:center;
  justify-content:center;
  min-height:24px;
  padding:0 12px;
  border-radius:999px;
  border:1px solid rgba(187,127,66,.34);
  background:linear-gradient(135deg, rgba(245,222,192,.68), rgba(255,248,236,.95));
  color:#8a5e3a;
  font-size:10px;
  letter-spacing:.11em;
  text-transform:uppercase;
  font-weight:900;
  box-shadow:0 6px 14px rgba(121,81,48,.12);
}

.kp-karma-shop-panel--topup{
  display:flex;
  flex-direction:column;
  align-items:center;
}

.kp-karma-shop-panel--topup h3,
.kp-karma-shop-panel--topup > p{
  text-align:center;
}

.kp-karma-shop-panel h3{
  margin:0;
  font-size:34px;
  line-height:1.06;
  font-family:"Cormorant Garamond", Georgia, serif;
  color:#4f3124;
}

.kp-karma-shop-panel h3 span{
  color:#be7f42;
}

.kp-karma-shop-panel p{
  margin:8px 0 0;
  color:#6f503c;
  font-size:15px;
}

.kp-karma-shop-trust{
  margin-top:12px;
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}

.kp-karma-shop-trust span{
  display:inline-flex;
  align-items:center;
  gap:5px;
  padding:6px 10px;
  border-radius:999px;
  border:1px solid rgba(187,127,66,.24);
  background:rgba(255,255,255,.68);
  color:#6a4a36;
  font-size:12px;
  font-weight:700;
}

.kp-karma-offers-grid{
  display:grid;
  grid-template-columns:repeat(4, minmax(160px, 1fr));
  justify-content:center;
  gap:12px;
}

.kp-karma-offer{
  position:relative;
  display:flex;
  flex-direction:column;
  align-items:stretch;
  justify-content:flex-end;
  gap:0;
  border:1px solid rgba(196,151,103,.34);
  border-radius:18px;
  padding:12px 14px 3px;
  min-height:0;
  aspect-ratio:1 / 1.06;
  background:
    radial-gradient(circle at 88% 12%, rgba(255,247,233,.7), transparent 30%),
    radial-gradient(circle at 18% 86%, rgba(233,199,153,.22), transparent 38%),
    linear-gradient(155deg, #fff8ef 0%, #f7e6cc 55%, #f0d8b6 100%);
  overflow:hidden;
  box-shadow:0 10px 24px rgba(121,81,48,.12), inset 0 1px 0 rgba(255,255,255,.72);
}

.kp-karma-offer.is-featured{
  border-color:rgba(186,127,68,.58);
  box-shadow:0 18px 34px rgba(117,75,42,.16), 0 0 0 1px rgba(228,186,128,.38) inset;
}

.kp-karma-offer-image{
  position:absolute;
  left:50%;
  top:50%;
  transform:translate(-50%,-60%);
  z-index:1;
  width:230px;
  height:230px;
  object-fit:contain;
  margin:0;
  filter:drop-shadow(0 10px 16px rgba(109,72,44,.22));
  pointer-events:none;
}

.kp-karma-offer-tag{
  position:relative;
  z-index:2;
  align-self:flex-start;
  padding:5px 10px;
  border-radius:999px;
  font-size:10px;
  letter-spacing:.11em;
  text-transform:uppercase;
  font-weight:900;
  color:#6f4a32;
  background:rgba(238,214,183,.75);
}

.kp-karma-offer-meta{
  position:relative;
  z-index:2;
  margin-top:auto;
  margin-bottom:1px;
  text-align:center;
}

.kp-karma-offer-inline{
  margin:0;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:4px;
  font-size:11px;
  font-weight:700;
  line-height:1;
  color:#7f5a3d;
  white-space:nowrap;
}

.kp-karma-offer-save{
  position:relative;
  z-index:2;
  margin:1px 0 0;
  font-size:12px;
  font-weight:800;
  line-height:1;
  text-align:center;
  color:#2f8b52;
}

.kp-karma-offer-tag-popular{
  background:rgba(183,131,76,.2);
  color:#8a582d;
}

.kp-karma-offer-tag-best{
  background:rgba(230,186,120,.33);
  color:#7b4b1f;
}

.kp-karma-offer-cta{
  position:relative;
  z-index:2;
  margin-top:0;
  margin-bottom:0;
  display:inline-flex;
  justify-content:center;
  align-items:center;
  min-height:44px;
  width:100%;
  appearance:none;
  -webkit-appearance:none;
  border-radius:999px;
  text-decoration:none;
  font-size:13px;
  font-weight:900;
  letter-spacing:.04em;
  text-transform:uppercase;
  color:#fff8ef;
  background:linear-gradient(180deg,#d9a665 0%,#bf7f40 100%);
  border:1px solid rgba(148,96,50,.32);
  box-shadow:0 10px 20px rgba(124,79,41,.2), inset 0 1px 0 rgba(255,255,255,.35);
  transition:transform .16s ease, box-shadow .16s ease;
  cursor:pointer;
}

.kp-karma-offer-cta:hover{
  transform:translateY(-1px);
  box-shadow:0 14px 24px rgba(124,79,41,.28), inset 0 1px 0 rgba(255,255,255,.35);
}

.kp-karma-shop-inline-error{
  margin:0 0 10px;
  border:1px solid rgba(186,95,81,.3);
  border-radius:12px;
  background:rgba(255,241,238,.9);
  color:#9c4b3b;
  font-size:13px;
  font-weight:700;
  padding:9px 10px;
}

.page{
  overflow:visible !important;
}

.nav{
  position:relative !important;
  z-index:2147483000 !important;
  overflow:visible !important;
}

.nav-links{
  overflow:visible !important;
}

.nav-login.kp-auth-pending{
  display:inline-grid;
  place-items:center;
  width:44px;
  height:44px;
  padding:0 !important;
  border-radius:50%;
  color:transparent !important;
  text-indent:-999px;
  overflow:hidden;
}

[data-guest-only].kp-guest-hidden{
  display:none !important;
}

.kp-auth-dot{
  width:13px;
  height:13px;
  border-radius:50%;
  background:#c89b63;
  box-shadow:0 0 0 0 rgba(200,155,99,.36);
  animation:kpAuthPulse 1.1s ease-in-out infinite;
}

@keyframes kpAuthPulse{
  0%,100%{transform:scale(.82);box-shadow:0 0 0 0 rgba(200,155,99,.32)}
  50%{transform:scale(1);box-shadow:0 0 0 9px rgba(200,155,99,0)}
}

.nav-login.kp-profile-trigger{
  position:relative;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  z-index:2147483001;
  padding:0 !important;
  border:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  text-transform:none !important;
}

.kp-profile-wrap{
  display:inline-flex;
  align-items:center;
  gap:6px;
  max-width:min(360px, 40vw);
  flex-wrap:nowrap;
  white-space:nowrap;
  overflow:visible;
}

.kp-stats-pills{
  display:inline-flex;
  align-items:center;
  gap:6px;
  flex:0 0 auto;
  overflow:visible;
}

.kp-account-pill{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:6px 10px 6px 6px;
  border-radius:999px;
  border:1px solid rgba(216,166,95,.34);
  background:linear-gradient(135deg, rgba(255,250,244,.98) 0%, rgba(244,224,194,.94) 100%);
  box-shadow:0 14px 30px rgba(99,63,35,.12), inset 0 1px 0 rgba(255,255,255,.72);
  cursor:pointer;
  flex:0 0 auto;
}

.kp-level-pill{
  position:relative;
  display:grid;
  gap:4px;
  width:118px;
  min-height:40px;
  padding:2px 2px 2px 0;
  border:0;
  border-radius:12px;
  background:transparent;
  color:#4d362b;
  box-shadow:none;
  overflow:hidden;
  justify-items:center;
  text-align:center;
  flex:0 0 auto;
}

.kp-level-pill::after{
  content:none;
}

.kp-level-top{
  position:relative;
  z-index:1;
  display:flex;
  align-items:center;
  justify-content:center;
  font-family:"Cormorant Garamond", Georgia, serif;
  font-size:12px;
  font-weight:900;
  letter-spacing:.09em;
  line-height:1;
  color:#5a3d32;
  width:100%;
}

.kp-level-bar{
  position:relative;
  z-index:1;
  display:block;
  width:100%;
  height:6px;
  border-radius:999px;
  background:rgba(126,88,59,.14);
  overflow:hidden;
}

.kp-level-fill{
  display:block;
  height:100%;
  border-radius:inherit;
  background:linear-gradient(90deg,#c88b49 0%,#e3b46f 52%,#f3d5a0 100%);
  box-shadow:0 0 12px rgba(216,166,95,.52);
  transition:width .64s cubic-bezier(.2,.78,.24,1);
}

.kp-level-meta{
  position:relative;
  z-index:1;
  color:#826552;
  font-size:9px;
  font-weight:850;
  letter-spacing:.01em;
  line-height:1;
  white-space:nowrap;
  text-align:center;
  width:100%;
}

.kp-karma-pill{
  appearance:none;
  -webkit-appearance:none;
  cursor:pointer;
  display:grid;
  gap:3px;
  width:64px;
  min-width:64px;
  max-width:64px;
  min-height:58px;
  height:58px;
  padding:3px 6px 3px;
  border-radius:12px;
  border:1px solid rgba(216,166,95,.34);
  background:linear-gradient(135deg, rgba(255,250,244,.98) 0%, rgba(244,224,194,.94) 100%);
  box-shadow:0 8px 16px rgba(99,63,35,.08), inset 0 1px 0 rgba(255,255,255,.72);
  justify-items:center;
  align-content:center;
  text-align:center;
  flex:0 0 auto;
}
.kp-karma-pill:hover{
  transform:translateY(-1px);
  box-shadow:0 10px 20px rgba(99,63,35,.12), inset 0 1px 0 rgba(255,255,255,.72);
}
.kp-karma-pill:focus-visible{
  outline:2px solid rgba(199,137,73,.45);
  outline-offset:2px;
}

.kp-nav-metric-loading{
  cursor:default;
  opacity:0.72;
  pointer-events:none;
}
.kp-karma-pill.kp-nav-metric-loading:hover{
  transform:none;
  box-shadow:0 8px 16px rgba(99,63,35,.08), inset 0 1px 0 rgba(255,255,255,.72);
}

.kp-karma-pill-top{
  font-family:"Cormorant Garamond", Georgia, serif;
  font-size:10px;
  font-weight:900;
  letter-spacing:.08em;
  color:#5a3d32;
  line-height:1;
}

.kp-karma-pill-main{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:4px;
  font-family:"Montserrat", "Segoe UI", Arial, sans-serif;
  font-size:14px;
  font-weight:900;
  letter-spacing:.02em;
  color:#6a4328;
  line-height:1;
}

.kp-karma-icon{
  font-size:15px;
  line-height:1;
  color:#b87c3e;
}

.kp-level-pulse{
  animation:kpLevelPulse .62s ease both;
}

@keyframes kpLevelPulse{
  0%,100%{transform:scale(1);box-shadow:0 14px 30px rgba(99,63,35,.12), inset 0 1px 0 rgba(255,255,255,.72)}
  45%{transform:scale(1.045);box-shadow:0 18px 42px rgba(216,166,95,.3), 0 0 0 8px rgba(216,166,95,.1), inset 0 1px 0 rgba(255,255,255,.78)}
}

.kp-profile-menu{
  position:relative;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  z-index:2147483002;
  flex:0 0 auto;
}

.kp-profile-avatar{
  position:relative;
  display:grid;
  place-items:center;
  width:44px !important;
  height:44px !important;
  min-width:44px;
  min-height:44px;
  max-width:44px;
  max-height:44px;
  aspect-ratio:1 / 1;
  padding:0 !important;
  border:1px solid rgba(255,248,239,.58);
  border-radius:50% !important;
  background:
    radial-gradient(circle at 28% 18%, rgba(255,255,255,.62), transparent 30%),
    linear-gradient(180deg,#deb174 0%,#bb7f42 100%);
  color:#fffaf4;
  cursor:default;
  font:inherit;
  font-size:17px;
  font-weight:950;
  line-height:1;
  box-shadow:0 14px 28px rgba(132,84,42,.2), inset 0 1px 0 rgba(255,255,255,.35);
  overflow:hidden;
  pointer-events:none;
}

.kp-profile-avatar:hover{
  transform:translateY(-1px);
}

.kp-profile-default-photo{
  position:absolute;
  inset:0;
  display:block;
  background:url("images/defaultpfp.png") center / 126% 126% no-repeat;
}

.kp-profile-default-photo + .kp-profile-initial{
  display:none;
}

.kp-profile-avatar img{
  position:absolute;
  inset:0;
  width:100% !important;
  height:100% !important;
  display:none;
  object-fit:cover;
  border-radius:inherit;
}

.kp-profile-avatar.has-loaded-photo img{
  display:block;
}

.kp-profile-avatar.has-loaded-photo .kp-profile-initial{
  display:none;
}

.kp-profile-dropdown{
  position:fixed;
  top:64px;
  right:auto;
  left:16px;
  z-index:2147483003;
  width:min(238px, calc(100vw - 32px));
  padding:10px;
  border:1px solid rgba(166,128,101,.18);
  border-radius:20px;
  background:rgba(255,248,239,.98);
  box-shadow:0 22px 52px rgba(64,43,31,.2);
  opacity:0;
  pointer-events:none;
  transform:translateY(-6px);
  transition:opacity .18s ease, transform .18s ease;
}

.kp-profile-menu.is-open .kp-profile-dropdown{
  opacity:1;
  pointer-events:auto;
  transform:translateY(0);
}

.kp-profile-name-edit{
  appearance:none;
  -webkit-appearance:none;
  display:flex;
  align-items:center;
  justify-content:space-between;
  width:100%;
  padding:8px 10px 10px;
  border:0;
  border-radius:12px;
  background:transparent;
  color:#806452;
  font-size:12px;
  font-weight:850;
  line-height:1.35;
  text-align:left;
  text-transform:none;
  letter-spacing:0;
  cursor:pointer;
}

.kp-profile-name-edit span:first-child{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.kp-profile-name-pencil{
  margin-left:8px;
  color:#b98552;
  font-size:13px;
  line-height:1;
}

.kp-profile-name-edit:hover{
  background:rgba(216,166,95,.14);
}

.kp-name-backdrop{
  position:fixed;
  inset:0;
  z-index:10020;
  display:none;
  align-items:center;
  justify-content:center;
  padding:20px;
  background:rgba(56,35,24,.42);
  backdrop-filter:none;
}

.kp-name-backdrop.is-open{
  display:flex;
}

.kp-name-modal{
  position:relative;
  width:min(560px, 100%);
  border:1px solid rgba(187,127,66,.26);
  border-radius:26px;
  background:
    radial-gradient(circle at 14% 12%, rgba(245,222,192,.68), transparent 42%),
    linear-gradient(180deg, #fff6ec 0%, #fffaf5 100%);
  box-shadow:0 34px 72px rgba(81,48,29,.26), inset 0 1px 0 rgba(255,255,255,.8);
  color:#5a3d32;
}

.kp-name-close{
  position:absolute;
  top:14px;
  right:14px;
  width:34px;
  height:34px;
  border:1px solid rgba(166,128,101,.22);
  border-radius:50%;
  background:#fff;
  color:#8a6347;
  font-size:24px;
  line-height:1;
  cursor:pointer;
}

.kp-name-content{
  padding:28px 24px 24px;
}

.kp-name-content h2{
  margin:0 0 10px;
  font-family:Georgia,"Times New Roman",serif;
  font-size:33px;
  line-height:1.12;
}

.kp-name-note{
  margin:0 0 14px;
  color:#7a5e4e;
}

.kp-name-input{
  width:100%;
  min-height:46px;
  border:1px solid rgba(166,128,101,.3);
  border-radius:12px;
  padding:0 12px;
  background:#fff;
  color:#4d3427;
  font:inherit;
}

.kp-name-actions{
  display:flex;
  gap:10px;
  margin-top:14px;
}

.kp-name-actions .kp-settings-primary,
.kp-name-actions .kp-settings-secondary-action{
  flex:1 1 0;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:100%;
  height:46px;
  min-height:46px;
  padding:0;
  line-height:1;
  border-radius:999px;
  font-size:14px;
  font-weight:900;
  box-sizing:border-box;
  margin-top:0 !important;
}

.kp-name-actions .kp-settings-primary{
  background:linear-gradient(180deg, #d8aa6a 0%, #c48c4b 100%);
  color:#fffaf4;
  border:1px solid rgba(166,109,49,.35);
  box-shadow:0 16px 28px rgba(132,84,42,.22), inset 0 1px 0 rgba(255,255,255,.3);
}

.kp-name-actions .kp-settings-primary:hover{
  transform:translateY(-1px);
}

.kp-name-actions .kp-settings-secondary-action{
  background:rgba(255,249,242,.9);
  color:#6e4a33;
  border:1px solid rgba(180,138,102,.36);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.75);
}

.kp-name-message{
  margin:0 0 12px;
  padding:10px 12px;
  border-radius:10px;
  background:rgba(193,137,79,.12);
  color:#6c472f;
  font-size:14px;
  font-weight:700;
}

.kp-name-message[data-type="error"]{
  background:rgba(191,74,74,.14);
  color:#8f2a2a;
}

@media (max-width:768px){
  .kp-name-content h2{
    font-size:28px;
  }
}

.kp-profile-divider{
  display:block;
  height:1px;
  margin:0 6px 8px;
  background:rgba(166,128,101,.16);
}

.kp-profile-dropdown a,
.kp-profile-dropdown button{
  appearance:none;
  -webkit-appearance:none;
  display:flex !important;
  align-items:center;
  width:100%;
  min-height:42px;
  padding:0 12px;
  border:0;
  border-radius:14px;
  background:transparent;
  box-shadow:none;
  color:#5a3d32 !important;
  font-size:14px !important;
  font-weight:900 !important;
  font-family:inherit;
  letter-spacing:0 !important;
  text-decoration:none !important;
  text-transform:none !important;
  text-align:left;
  line-height:1;
  cursor:pointer;
}

.kp-profile-dropdown a:hover,
.kp-profile-dropdown button:hover{
  background:rgba(216,166,95,.14);
}

.kp-profile-dropdown button:focus-visible{
  outline:2px solid rgba(200,155,99,.45);
  outline-offset:2px;
}

@media (max-width:768px){
  .kp-profile-wrap{
    max-width:100%;
    gap:8px;
  }

  .kp-stats-pills{
    gap:6px;
  }

  .kp-account-pill{
    padding:5px 9px 5px 5px;
  }

  .kp-level-pill{
    width:118px;
    min-height:38px;
    padding:1px 1px 1px 0;
  }

  .kp-level-top{
    font-size:12px;
  }

  .kp-level-meta{
    font-size:9px;
  }

  .kp-karma-pill{
    width:66px;
    min-width:66px;
    max-width:66px;
    min-height:54px;
    height:54px;
    padding:2px 7px 2px;
  }

  .kp-karma-pill-top{
    font-size:10px;
  }

  .kp-karma-pill-main{
    font-size:14px;
  }
}

/* Plovoucí Cesta odměn (vlevo dole; nad referral widgetem, pokud je na stránce) */
.kp-battle-pass-fab{
  position:fixed;
  z-index:9002;
  pointer-events:none;
}

.kp-battle-pass-fab__btn{
  pointer-events:auto;
  display:grid;
  place-items:center;
  width:58px;
  height:58px;
  padding:0;
  border:1px solid rgba(102,162,114,.38);
  border-radius:50%;
  background:linear-gradient(180deg,#f5fff6,#dff4e3);
  box-shadow:0 16px 34px rgba(70,110,78,.26);
  cursor:pointer;
}

.kp-battle-pass-fab__btn:hover{
  filter:brightness(1.03);
}

.kp-battle-pass-fab__btn:focus-visible{
  outline:2px solid rgba(102,162,114,.65);
  outline-offset:3px;
}

.kp-battle-pass-fab__icon{
  display:block;
  font-size:1.65rem;
  line-height:1;
}

body.kp-daily-reward-open .kp-battle-pass-fab,
body.kp-karma-overlay-open .kp-battle-pass-fab,
body.auth-modal-open .kp-battle-pass-fab{
  opacity:0;
  pointer-events:none;
  transition:opacity .2s ease;
}

@media (max-width:720px){
  .kp-battle-pass-fab__btn{
    width:52px;
    height:52px;
  }

  .kp-battle-pass-fab__icon{
    font-size:1.5rem;
  }
}

.kp-settings-backdrop{
  position:fixed;
  inset:0;
  z-index:2147483004;
  display:none;
  align-items:center;
  justify-content:center;
  padding:22px;
  background:rgba(42,28,20,.42);
  backdrop-filter:none;
}

.kp-daily-reward-backdrop{
  position:fixed;
  inset:0;
  z-index:2147483006;
  display:none;
  align-items:center;
  justify-content:center;
  padding:18px;
  background:rgba(47,29,19,.48);
  -webkit-backdrop-filter:none;
  backdrop-filter:none;
}

.kp-daily-reward-backdrop.is-open{
  display:flex;
}

.kp-daily-reward-modal{
  position:relative;
  width:min(980px,100%);
  max-height:min(90vh,920px);
  border-radius:28px;
  border:1px solid rgba(200,155,99,.25);
  background:linear-gradient(180deg,rgba(255,250,244,.99),rgba(247,237,227,.99));
  box-shadow:0 36px 80px rgba(45,28,19,.34);
  overflow:hidden;
}

.kp-daily-reward-close{
  position:absolute;
  top:14px;
  right:14px;
  width:38px;
  height:38px;
  border:1px solid rgba(200,155,99,.22);
  border-radius:50%;
  background:rgba(255,255,255,.76);
  color:#5a3d32;
  font-size:24px;
  line-height:1;
  cursor:pointer;
}

.kp-daily-reward-content{
  padding:24px 24px 22px;
}

.kp-daily-reward-message{
  margin:0 0 14px;
  padding:10px 12px;
  border-radius:12px;
  font-size:13px;
  font-weight:800;
}

.kp-daily-reward-message[data-type="success"]{
  background:rgba(90,145,95,.13);
  color:#33683c;
}

.kp-daily-reward-message[data-type="error"]{
  background:rgba(166,72,55,.13);
  color:#8a3b30;
}

.kp-bp-head{
  text-align:center;
  margin-bottom:14px;
}

.kp-bp-head h3{
  margin:10px 0 6px;
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(26px,3.4vw,36px);
  color:#4e3428;
}

.kp-bp-head p{
  margin:0;
  color:#8c705f;
  font-size:14px;
}

.kp-bp-next-hint{
  margin:8px 0 0 !important;
  color:#6b5a4f !important;
  font-size:14px !important;
  line-height:1.55 !important;
  font-weight:400 !important;
}

.kp-bp-month-bar{
  margin:12px 0 4px;
  text-align:left;
}

.kp-bp-month-bar-top{
  display:flex;
  justify-content:space-between;
  align-items:center;
  font-size:13px;
  font-weight:800;
  color:#5c4394;
  margin-bottom:6px;
}

.kp-bp-month-bar-track{
  height:10px;
  border-radius:999px;
  background:rgba(123,92,191,.14);
  border:1px solid rgba(123,92,191,.2);
  overflow:hidden;
  box-shadow:inset 0 1px 2px rgba(92,68,140,.08);
}

.kp-bp-month-bar-fill{
  display:block;
  height:100%;
  border-radius:999px;
  background:linear-gradient(90deg, #b39ae8 0%, #7b5cbf 55%, #6a4aad 100%);
  box-shadow:0 0 10px rgba(123,92,191,.35);
  transition:width 0.35s ease;
}

.kp-bp-cell.is-missed.is-karma-unlock .kp-bp-lock{
  display:none;
}

.kp-bp-now{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
  margin:0 0 14px;
}

.kp-bp-now-item{
  padding:12px 14px;
  border:1px solid rgba(200,155,99,.18);
  border-radius:16px;
  background:rgba(255,255,255,.72);
}

.kp-bp-now-item strong{
  display:block;
  margin-bottom:4px;
  color:#5b3e2f;
  font-size:13px;
}

.kp-bp-now-item span{
  color:#8c705f;
  font-size:12px;
  font-weight:700;
}

.kp-bp-now-item.is-premium{
  background:linear-gradient(135deg,rgba(232,192,139,.34),rgba(255,255,255,.75));
  border-color:rgba(200,155,99,.34);
}

.kp-bp-now-item.is-locked{
  opacity:.75;
}

.kp-bp-track{
  border:1px solid rgba(200,155,99,.2);
  border-radius:18px;
  background:linear-gradient(180deg, rgba(255,255,255,.92), rgba(255,248,237,.86));
  padding:12px;
  margin-bottom:12px;
}

.kp-bp-track.free-track{
  border-color:rgba(102,162,114,.4);
  background:linear-gradient(180deg, rgba(248,255,249,.96), rgba(240,250,242,.9));
  box-shadow:0 12px 26px rgba(102,162,114,.1), inset 0 1px 0 rgba(255,255,255,.82);
}

.kp-bp-track.locked{
  position:relative;
}

.kp-bp-track.premium-track,
.kp-bp-track.premium-only{
  border-color:rgba(200,155,99,.78);
  background:linear-gradient(180deg, rgba(255,250,241,.98), rgba(248,233,206,.94));
  box-shadow:0 18px 38px rgba(200,155,99,.28), 0 0 0 1px rgba(232,192,139,.22), inset 0 1px 0 rgba(255,255,255,.86);
}

.kp-bp-track header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin-bottom:10px;
}

.kp-bp-track header span{
  color:#5a3d32;
  font-family:Georgia,"Times New Roman",serif;
  font-size:22px;
}

.kp-bp-track header button{
  border:0;
  border-radius:999px;
  padding:10px 14px;
  background:linear-gradient(135deg,#e5c9a3,#c89b63);
  color:#fffaf2;
  font-weight:900;
  font-size:12px;
  cursor:pointer;
}

.kp-bp-grid{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:8px;
  max-height:300px;
  overflow:auto;
  padding-right:2px;
}

.kp-bp-grid-horizontal{
  display:flex;
  gap:10px;
  overflow-x:auto;
  overflow-y:hidden;
  padding:2px 2px 8px 0;
  scroll-snap-type:x mandatory;
  scroll-padding-left:14px;
  scrollbar-width:thin;
}

.kp-bp-grid-horizontal::before{
  content:"";
  flex:0 0 14px;
}

.kp-bp-grid-horizontal .kp-bp-cell{
  flex:0 0 156px;
  width:156px;
  aspect-ratio:1 / 1;
  scroll-snap-align:start;
}

.kp-bp-cell{
  position:relative;
  border:1px solid rgba(200,155,99,.16);
  border-radius:12px;
  padding:7px 7px 8px;
  background:linear-gradient(180deg,#fffdf9,#fff7ed);
  display:flex;
  flex-direction:column;
  gap:5px;
  box-shadow:0 8px 16px rgba(124,81,48,.07);
  overflow:visible;
  box-sizing:border-box;
}

.kp-bp-track.free-track .kp-bp-cell{
  border-color:rgba(74, 152, 95, .42);
}

.kp-bp-track.premium-track .kp-bp-cell,
.kp-bp-track.premium-only .kp-bp-cell{
  border-color:rgba(200,155,99,.46);
}

.kp-bp-cell.is-active{
  border-color:rgba(200,155,99,.45);
  box-shadow:0 12px 24px rgba(200,155,99,.24), 0 0 0 2px rgba(232,192,139,.22);
  background:linear-gradient(180deg,#fffaf2,#f8ead8);
  animation:kpBpActivePulse 1.1s ease-in-out infinite;
}

.kp-bp-cell.is-claimable{
  cursor:pointer;
}

.kp-bp-cell.is-claimed .kp-bp-reward-tiles,
.kp-bp-cell.is-claimed .kp-bp-look-stage{
  opacity:.88;
  filter:saturate(.9);
}

.kp-bp-cell.is-countdown{
  border-color:rgba(181,84,67,.42);
  box-shadow:0 10px 22px rgba(166,72,55,.18), 0 0 0 2px rgba(222,132,114,.16);
  animation:kpBpCountdownPulse 1.25s ease-in-out infinite;
}

.kp-bp-cell.is-locked .kp-bp-reward-tiles,
.kp-bp-cell.is-locked .kp-bp-look-stage{
  opacity:.88;
  filter:saturate(.9);
}

.kp-bp-lock{
  position:absolute;
  top:6px;
  right:6px;
  width:20px;
  height:20px;
  display:grid;
  place-items:center;
  border-radius:999px;
  font-size:11px;
  background:rgba(90,61,50,.12);
  border:1px solid rgba(166,128,101,.28);
}

.kp-bp-check{
  position:absolute;
  top:6px;
  right:6px;
  width:18px;
  height:18px;
  display:grid;
  place-items:center;
  border-radius:999px;
  font-size:12px;
  font-weight:900;
  color:#fff;
  background:#4a985f;
  border:1px solid rgba(255,255,255,.55);
  box-shadow:0 6px 12px rgba(74,152,95,.28);
}

@keyframes kpBpActivePulse{
  0%,100%{
    box-shadow:0 14px 30px rgba(200,155,99,.34), 0 0 0 3px rgba(232,192,139,.28);
    filter:saturate(1);
  }
  50%{
    box-shadow:0 22px 42px rgba(200,155,99,.48), 0 0 0 9px rgba(232,192,139,.26);
    filter:saturate(1.14);
  }
}

@keyframes kpBpCountdownPulse{
  0%,100%{
    box-shadow:0 10px 22px rgba(166,72,55,.18), 0 0 0 2px rgba(222,132,114,.16);
    transform:translateZ(0) scale(1);
  }
  50%{
    box-shadow:0 16px 30px rgba(166,72,55,.26), 0 0 0 8px rgba(222,132,114,.14);
    transform:translateZ(0) scale(1.015);
  }
}

.kp-bp-day{
  color:#5a3d32;
  font-weight:900;
  font-size:11px;
  line-height:1.15;
  display:flex;
  align-items:center;
  gap:4px;
  flex-shrink:0;
}

.kp-bp-cell-cube{
  flex:1;
  min-height:0;
  display:flex;
  flex-direction:column;
  gap:6px;
}

.kp-bp-reward-tiles{
  flex:1 1 auto;
  min-height:0;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:6px;
  align-content:center;
}

.kp-bp-cell-cube:has(.kp-bp-cell-foot) .kp-bp-reward-tiles{
  flex:1 1 0;
}

.kp-bp-tile{
  width:100%;
  aspect-ratio:1 / 1;
  min-width:0;
  min-height:0;
  border-radius:10px;
  padding:4px 2px;
  text-align:center;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  border:2px solid rgba(199,155,99,.35);
  background:linear-gradient(145deg, rgba(255,252,247,.98), rgba(245,228,206,.88));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.65);
  box-sizing:border-box;
}

.kp-bp-tile--xp{
  border-color:#7b5cbf;
  box-shadow:
    0 0 14px rgba(123,92,191,.28),
    inset 0 1px 0 rgba(255,255,255,.65);
}

.kp-bp-tile--karma{
  border-color:#c9a227;
  box-shadow:
    0 0 0 1px rgba(255,228,160,.55),
    0 6px 18px rgba(180,130,40,.22),
    inset 0 1px 0 rgba(255,255,255,.7);
}

.kp-bp-cell-foot{
  flex:0 0 auto;
  display:flex;
  flex-direction:column;
  gap:5px;
  justify-content:flex-end;
  min-height:0;
}

.kp-bp-cell-cube:has(.kp-bp-cell-foot) .kp-bp-cell-foot{
  flex:0 0 32%;
  min-height:38px;
}

.kp-bp-cell-pill{
  margin:0;
  flex:1 1 auto;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:5px;
  width:100%;
  min-height:36px;
  padding:0 10px;
  border-radius:999px;
  font:inherit;
  font-size:11px;
  font-weight:800;
  letter-spacing:.02em;
  box-sizing:border-box;
}

.kp-bp-pill-icon{
  flex-shrink:0;
}

.kp-bp-pill-icon--lock{
  color:#7b5cbf;
}

.kp-bp-pill-icon--check{
  color:#2f7a48;
}

.kp-bp-cell-karma-pill{
  appearance:none;
  -webkit-appearance:none;
  border:1px solid rgba(123,92,191,.32);
  background:linear-gradient(180deg, rgba(245,240,255,.98) 0%, rgba(228,216,248,.92) 100%);
  color:#6b52a8;
  cursor:pointer;
  box-shadow:0 2px 8px rgba(123,92,191,.14), inset 0 1px 0 rgba(255,255,255,.75);
  transition:background .15s ease, border-color .15s ease, box-shadow .15s ease;
}

.kp-bp-cell-karma-pill:hover:not(:disabled){
  background:linear-gradient(180deg, rgba(240,232,255,.99) 0%, rgba(216,200,248,.96) 100%);
  border-color:rgba(123,92,191,.48);
  box-shadow:0 3px 12px rgba(123,92,191,.22), inset 0 1px 0 rgba(255,255,255,.8);
}

.kp-bp-cell-claimed-pill{
  border:1px solid rgba(74,152,95,.45);
  background:linear-gradient(180deg, rgba(228,248,232,.98) 0%, rgba(186,228,196,.94) 100%);
  color:#2a6340;
  font-weight:900;
  box-shadow:0 2px 8px rgba(74,152,95,.22), inset 0 1px 0 rgba(255,255,255,.75);
}

button.kp-bp-cell-claimed-pill.kp-bp-cell-premium-cta{
  appearance:none;
  -webkit-appearance:none;
  cursor:pointer;
  transition:background .15s ease, border-color .15s ease, box-shadow .15s ease;
}

button.kp-bp-cell-claimed-pill.kp-bp-cell-premium-cta:hover{
  background:linear-gradient(180deg, rgba(220,244,226,.99) 0%, rgba(176,222,188,.96) 100%);
  border-color:rgba(74,152,95,.58);
  box-shadow:0 3px 12px rgba(74,152,95,.28), inset 0 1px 0 rgba(255,255,255,.8);
}

button.kp-bp-cell-claimed-pill.kp-bp-cell-premium-cta:focus-visible{
  outline:2px solid rgba(74,152,95,.55);
  outline-offset:2px;
}

button.kp-bp-cell-claimed-pill.kp-bp-cell-claim-cta{
  appearance:none;
  -webkit-appearance:none;
  cursor:pointer;
  transition:background .15s ease, border-color .15s ease, box-shadow .15s ease;
}

button.kp-bp-cell-claimed-pill.kp-bp-cell-claim-cta:hover{
  background:linear-gradient(180deg, rgba(220,244,226,.99) 0%, rgba(176,222,188,.96) 100%);
  border-color:rgba(74,152,95,.58);
  box-shadow:0 3px 12px rgba(74,152,95,.28), inset 0 1px 0 rgba(255,255,255,.8);
}

button.kp-bp-cell-claimed-pill.kp-bp-cell-claim-cta:focus-visible{
  outline:2px solid rgba(74,152,95,.55);
  outline-offset:2px;
}

.kp-bp-pill-icon--unlock{
  color:#2f7a48;
}

.kp-bp-cell.is-premium-upsell .kp-bp-reward-tiles,
.kp-bp-cell.is-premium-upsell .kp-bp-look-stage{
  opacity:.88;
  filter:saturate(.9);
}

.kp-bp-cell-locked-pill{
  border:1px solid rgba(140,118,95,.48);
  background:linear-gradient(180deg, rgba(255,249,240,.98) 0%, rgba(235,220,200,.94) 100%);
  color:#5c4636;
  font-weight:900;
  box-shadow:0 2px 8px rgba(124,98,72,.22), inset 0 1px 0 rgba(255,255,255,.75);
}

.kp-bp-cell-locked-pill .kp-bp-pill-icon--lock{
  color:#8a6b4f;
}

.kp-bp-locked-timer{
  font-size:12px;
  font-weight:900;
  font-variant-numeric:tabular-nums;
  letter-spacing:.03em;
  color:#5c4636;
}

.kp-bp-locked-label{
  font-size:11px;
  font-weight:900;
  letter-spacing:.02em;
  color:#5c4636;
}

.kp-bp-cell-karma-pill .kp-bp-karma-pill-amt{
  font-size:13px;
  font-weight:900;
  font-variant-numeric:tabular-nums;
  color:#5c4394;
}

.kp-bp-cell-karma-pill.is-karma-poor{
  border-color:rgba(123,92,191,.42);
  box-shadow:0 2px 8px rgba(123,92,191,.18), inset 0 1px 0 rgba(255,255,255,.7);
}

.kp-bp-cell-karma-pill:disabled{
  cursor:not-allowed;
  opacity:.52;
  filter:saturate(.85);
}

.kp-bp-cell-karma-pill:focus-visible{
  outline:2px solid rgba(123,92,191,.55);
  outline-offset:2px;
}

.kp-bp-cell-cube--look .kp-bp-look-stage{
  flex:1 1 auto;
  min-height:0;
  display:flex;
  align-items:center;
  justify-content:center;
}

.kp-bp-cell-cube--look:has(.kp-bp-cell-foot) .kp-bp-look-stage{
  flex:1 1 0;
}

.kp-bp-tile--look{
  border-color:rgba(107,75,181,.42);
  box-shadow:
    0 0 14px rgba(123,92,191,.2),
    inset 0 1px 0 rgba(255,255,255,.65);
  padding:4px;
  max-width:100%;
  max-height:100%;
}

.kp-bp-tile--look .kp-bp-look-preview{
  width:100%;
  height:100%;
  max-width:100%;
  max-height:100%;
  margin:0;
  object-fit:contain;
  object-position:center;
}

.kp-bp-reward-val{
  font-size:11px;
  font-weight:900;
  color:#5a3d32;
  line-height:1.1;
  font-variant-numeric:tabular-nums;
}

.kp-bp-reward-lbl{
  margin-top:2px;
  font-size:7px;
  font-weight:800;
  letter-spacing:.06em;
  text-transform:uppercase;
  color:#916f5f;
}

.kp-bp-special{
  color:#a05f2f;
  font-size:9px;
  font-weight:900;
  line-height:1.2;
  text-align:center;
  margin:0;
  flex-shrink:0;
}

.kp-bp-loading{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:14px;
  min-height:200px;
  padding:24px 16px;
  text-align:center;
}

.kp-bp-loading-spinner{
  width:36px;
  height:36px;
  border-radius:50%;
  border:3px solid rgba(199,155,99,.22);
  border-top-color:#c79254;
  animation:kpBpLoadingSpin .72s linear infinite;
}
@keyframes kpBpLoadingSpin{
  to{
    transform:rotate(360deg);
  }
}
.kp-bp-loading-msg{
  margin:0;
  font-size:14px;
  font-weight:800;
  color:#6b442f;
  max-width:300px;
  line-height:1.35;
}
.kp-bp-loading--error .kp-bp-loading-msg{
  font-weight:750;
  color:#8a3d34;
}

.kp-bp-countdown{
  margin-top:0;
  align-self:stretch;
  color:#8a3d34;
  font-size:9px;
  font-weight:900;
  background:rgba(166,72,55,.08);
  border:1px solid rgba(166,72,55,.2);
  border-radius:999px;
  padding:4px 6px;
  width:100%;
  max-width:100%;
  text-align:center;
  box-sizing:border-box;
  line-height:1.2;
}

.kp-bp-cell.is-locked .kp-bp-look-preview{
  filter:saturate(.88) brightness(.96);
}

.kp-bp-cell.is-claim-burst{
  z-index:3;
}

.kp-bp-confetti{
  position:fixed;
  z-index:2147483010;
  width:9px;
  height:14px;
  border-radius:2px;
  background:linear-gradient(180deg,#ffd86b,#ff8b2b);
  transform:translate(-50%,-50%);
  pointer-events:none;
  animation:kpBpConfetti .82s ease-out forwards;
}

.kp-bp-confetti:nth-child(3n){background:linear-gradient(180deg,#7cf3ff,#2bb6ff)}
.kp-bp-confetti:nth-child(4n){background:linear-gradient(180deg,#ff9cc3,#ff4f7f)}
.kp-bp-confetti:nth-child(5n){background:linear-gradient(180deg,#d9c0ff,#8a63ff)}
.kp-bp-confetti:nth-child(7n){background:linear-gradient(180deg,#b8ff9c,#5fd65a)}

@keyframes kpBpConfetti{
  0%{
    opacity:0;
    transform:translate(-50%,-50%) scale(.2) rotate(0deg);
  }
  12%{
    opacity:1;
    transform:translate(-50%,-50%) scale(1) rotate(40deg);
  }
  100%{
    opacity:0;
    transform:translate(calc(-50% + var(--dx,0px)), calc(-50% + var(--dy,-70px))) rotate(var(--rot,120deg));
  }
}

.kp-bp-actions{
  display:flex;
  justify-content:center;
  margin-top:6px;
}

.kp-bp-claim{
  min-width:min(420px,100%);
  min-height:50px;
  border:0;
  border-radius:999px;
  padding:12px 18px;
  background:linear-gradient(135deg,#e5c9a3,#c89b63);
  color:#fffaf2;
  font-size:14px;
  font-weight:900;
  letter-spacing:.02em;
  cursor:pointer;
  box-shadow:0 16px 30px rgba(200,155,99,.27);
}

.kp-bp-claim:disabled{
  cursor:not-allowed;
  opacity:.72;
  box-shadow:none;
}

.kp-settings-backdrop.is-open{
  display:flex;
}

.kp-settings-modal{
  position:relative;
  display:grid;
  grid-template-columns:230px minmax(0, 1fr);
  width:min(900px, 96vw);
  min-height:520px;
  max-height:calc(100vh - 44px);
  overflow:hidden;
  border:1px solid rgba(193,151,104,.2);
  border-radius:30px;
  background:linear-gradient(135deg,#efe0cc 0%,#fffaf4 48%,#f5e7d6 100%);
  box-shadow:0 34px 90px rgba(31,24,20,.3);
  color:#3f2f27;
}

.kp-settings-close{
  position:absolute;
  top:16px;
  right:18px;
  z-index:2;
  width:38px;
  height:38px;
  border:1px solid rgba(166,128,101,.18);
  border-radius:50%;
  background:rgba(255,250,244,.72);
  color:#6c4b37;
  cursor:pointer;
  font-size:24px;
  line-height:1;
}

.kp-settings-sidebar{
  display:flex;
  flex-direction:column;
  gap:8px;
  padding:34px 20px;
  background:
    radial-gradient(circle at 20% 100%, rgba(255,255,255,.34), transparent 42%),
    linear-gradient(180deg,rgba(202,155,96,.4),rgba(183,126,72,.22));
  border-right:1px solid rgba(166,128,101,.16);
}

.kp-settings-kicker{
  margin:0 0 16px;
  color:#8b603c;
  font-size:11px;
  font-weight:950;
  letter-spacing:.18em;
  text-transform:uppercase;
}

.kp-settings-tab{
  appearance:none;
  display:flex;
  align-items:center;
  min-height:46px;
  padding:0 14px;
  border:1px solid transparent;
  border-radius:999px;
  background:transparent;
  color:#5a3d32;
  cursor:pointer;
  font:inherit;
  font-size:15px;
  font-weight:900;
  text-align:left;
}

.kp-settings-tab:hover,
.kp-settings-tab.is-active{
  border-color:rgba(255,255,255,.54);
  background:rgba(255,250,244,.72);
  box-shadow:0 12px 26px rgba(117,77,45,.12);
}

.kp-settings-tab.danger{
  margin-top:auto;
  color:#8c3f35;
}

.kp-settings-content{
  overflow:auto;
  padding:44px 48px 40px;
}

.kp-settings-content h2{
  margin:0 0 22px;
  color:#3f2a1f;
  font-family:Georgia,serif;
  font-size:42px;
  font-weight:500;
  letter-spacing:-.03em;
}

.kp-settings-card{
  padding:22px;
  border:1px solid rgba(166,128,101,.16);
  border-radius:24px;
  background:rgba(255,250,244,.72);
  box-shadow:0 18px 48px rgba(126,86,52,.08);
  margin-bottom:16px;
}

.kp-settings-card.danger{
  border-color:rgba(150,62,50,.18);
  background:rgba(255,244,239,.78);
}

.kp-settings-premium-card{
  position:relative;
  overflow:hidden;
  padding:24px;
  border:1px solid transparent;
  background:
    linear-gradient(180deg, rgba(255,252,247,.96), rgba(250,238,224,.88)),
    #fff8ef;
  box-shadow:
    0 26px 64px rgba(93,56,34,.14),
    0 8px 20px rgba(187,127,66,.1),
    inset 0 1px 0 rgba(255,255,255,.72);
  transform:translateZ(0);
}

.kp-settings-premium-card::before{
  content:"";
  position:absolute;
  inset:0;
  padding:1px;
  border-radius:24px;
  background:linear-gradient(135deg, rgba(239,210,167,.95), rgba(187,127,66,.74), rgba(141,85,40,.55));
  -webkit-mask:linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite:xor;
  mask-composite:exclude;
  pointer-events:none;
}

.kp-settings-premium-card::after{
  content:"";
  position:absolute;
  inset:1px;
  border-radius:23px;
  border:1px solid rgba(255,255,255,.58);
  box-shadow:inset 0 -18px 34px rgba(187,127,66,.05);
  pointer-events:none;
}

.kp-settings-premium-card > *{
  position:relative;
  z-index:1;
}

.kp-premium-cta{
  width:100%;
  min-height:52px;
  padding:0 22px;
  background:linear-gradient(180deg,#dca765 0%,#bb7f42 52%,#9f642e 100%);
  box-shadow:
    0 20px 38px rgba(132,84,42,.28),
    0 0 0 1px rgba(255,255,255,.32) inset,
    inset 0 1px 0 rgba(255,255,255,.32);
  font-size:15px;
  letter-spacing:.01em;
}

.kp-premium-cta:hover{
  transform:translateY(-1px);
  box-shadow:
    0 24px 46px rgba(132,84,42,.34),
    0 0 0 1px rgba(255,255,255,.38) inset,
    0 0 34px rgba(216,166,95,.34);
}

.kp-premium-benefits{
  display:flex;
  justify-content:center;
  gap:8px 14px;
  flex-wrap:wrap;
  margin:12px 0 0;
  color:#7b5d48;
  font-size:12px;
  font-weight:850;
  line-height:1.4;
  text-align:center;
}

.kp-premium-benefits span{
  position:relative;
  padding-left:14px;
}

.kp-premium-benefits span::before{
  content:"";
  position:absolute;
  left:0;
  top:.55em;
  width:5px;
  height:5px;
  border-radius:50%;
  background:#bb7f42;
  box-shadow:0 0 10px rgba(187,127,66,.45);
}

.kp-premium-offer{
  margin:0 0 14px;
  padding:0;
  text-align:center;
}

.kp-premium-offer.is-expired [data-premium-offer-timer-wrap],
.kp-premium-offer.is-expired [data-premium-offer-separator],
.kp-premium-offer.is-expired .kp-premium-offer-old{
  display:none;
}

.kp-premium-offer.is-last-chance [data-premium-offer-timer-wrap]{
  display:inline-flex;
  gap:8px;
  align-items:center;
  margin-top:4px;
  padding:7px 11px;
  border-radius:999px;
  border:1px solid rgba(140,63,53,.28);
  background:rgba(140,63,53,.11);
  color:#8c3f35;
  box-shadow:0 10px 24px rgba(140,63,53,.12);
  font-size:12px;
  font-weight:800;
}

.kp-premium-offer h4{
  margin:8px 0 2px;
  color:#5a3d32;
  font:700 clamp(18px,2.4vw,24px)/1.05 Georgia,"Times New Roman",serif;
}

.kp-premium-offer h4 b{
  color:#9f642e;
  font-size:.62em;
  font-weight:700;
}

.kp-premium-offer p{
  margin:6px 0 0;
  color:#775944;
  font-size:12px;
  font-weight:800;
}

.kp-premium-offer-price{
  font-family:Inter,system-ui,sans-serif;
  font-weight:900;
  letter-spacing:.01em;
}

.kp-premium-offer-old{
  font-family:Inter,system-ui,sans-serif;
  font-weight:900;
  letter-spacing:.01em;
  color:#9f642e;
  text-decoration:line-through;
  text-decoration-thickness:2px;
  text-decoration-color:#9f642e;
}

.kp-settings-secondary-action,
.kp-subscription-cancel-link{
  appearance:none;
  -webkit-appearance:none;
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  border:0;
  background:transparent;
  font:inherit;
  cursor:pointer;
}

.kp-settings-secondary-action{
  min-height:44px;
  margin-top:16px;
  border:1px solid rgba(140,63,53,.18);
  border-radius:999px;
  color:#7d4a3f;
  font-size:14px;
  font-weight:950;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.56);
}

.kp-settings-secondary-action:hover{
  background:rgba(140,63,53,.07);
}

.kp-may-offer-backdrop{
  position:fixed;
  inset:0;
  z-index:2147483004;
  display:none;
  align-items:center;
  justify-content:center;
  padding:18px;
  background:rgba(64,38,28,.34);
  backdrop-filter:blur(6px);
}

.kp-may-offer-backdrop.is-open{
  display:flex;
}

body.kp-may-offer-open{
  overflow:hidden;
}

.kp-may-offer-modal{
  width:min(520px,100%);
  border-radius:30px;
  border:1px solid rgba(216,166,95,.36);
  background:
    radial-gradient(circle at 18% 0%, rgba(255,224,184,.85), transparent 38%),
    linear-gradient(180deg, rgba(255,252,247,.98), rgba(250,238,224,.96));
  box-shadow:
    0 34px 90px rgba(70,42,27,.3),
    inset 0 1px 0 rgba(255,255,255,.72);
  color:#5a3d32;
  position:relative;
  overflow:hidden;
}

.kp-may-offer-modal::before{
  content:"";
  position:absolute;
  inset:auto -20% -35% auto;
  width:260px;
  height:260px;
  border-radius:50%;
  background:radial-gradient(circle, rgba(216,166,95,.22), transparent 70%);
  pointer-events:none;
}

.kp-may-offer-close{
  position:absolute;
  right:16px;
  top:14px;
  z-index:2;
  width:38px;
  height:38px;
  border:1px solid rgba(90,61,50,.12);
  border-radius:999px;
  background:rgba(255,250,245,.82);
  color:#6b4e3d;
  font-size:24px;
  line-height:1;
  cursor:pointer;
  box-shadow:0 10px 24px rgba(90,61,50,.08);
}

.kp-may-offer-content{
  position:relative;
  z-index:1;
  display:grid;
  justify-items:center;
  gap:14px;
  padding:34px 28px 28px;
  text-align:center;
}

.kp-may-offer-kicker{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:28px;
  padding:0 14px;
  border:1px solid rgba(187,127,66,.22);
  border-radius:999px;
  background:rgba(255,255,255,.54);
  color:#9f642e;
  font-size:12px;
  font-weight:950;
  letter-spacing:.12em;
  text-transform:uppercase;
}

.kp-may-offer-modal h2{
  max-width:430px;
  margin:0;
  color:#4b3025;
  font:700 clamp(29px,6vw,42px)/.98 "Cormorant Garamond",Georgia,serif;
}

.kp-may-offer-modal h2 strong{
  color:#bb7f42;
  white-space:nowrap;
}

.kp-may-offer-modal p{
  max-width:390px;
  margin:0;
  color:#735744;
  font-size:15px;
  line-height:1.55;
  font-weight:700;
}

.kp-may-offer-timer{
  display:inline-flex;
  align-items:center;
  gap:9px;
  padding:9px 14px;
  border-radius:999px;
  border:1px solid rgba(140,63,53,.16);
  background:rgba(140,63,53,.08);
  color:#7a4a3f;
  font-size:13px;
  font-weight:900;
}

.kp-may-offer-timer strong{
  color:#8c3f35;
  font-variant-numeric:tabular-nums;
}

.kp-may-offer-cta{
  display:flex;
  align-items:center;
  justify-content:center;
  width:min(360px,100%);
  min-height:54px;
  margin-top:2px;
  padding:0 22px;
  border-radius:999px;
  background:linear-gradient(180deg,#dca765 0%,#bb7f42 52%,#9f642e 100%);
  color:#fffaf2;
  text-decoration:none;
  font-size:15px;
  font-weight:950;
  box-shadow:
    0 20px 38px rgba(132,84,42,.28),
    0 0 0 1px rgba(255,255,255,.32) inset,
    inset 0 1px 0 rgba(255,255,255,.32);
}

.kp-may-offer-later{
  border:0;
  background:transparent;
  color:#9c7f6f;
  font:inherit;
  font-size:13px;
  font-weight:850;
  cursor:pointer;
}

@media(max-width:560px){
  .kp-may-offer-content{
    padding:32px 20px 24px;
  }
  .kp-may-offer-modal{
    border-radius:26px;
  }
}

.kp-cancel-impact{
  display:grid;
  gap:8px;
  margin:0 0 18px;
  padding:14px;
  border:1px solid rgba(140,63,53,.12);
  border-radius:18px;
  background:rgba(255,244,239,.64);
  color:#6f4a3f;
  font-size:13px;
  font-weight:850;
  line-height:1.45;
}

.kp-cancel-impact span{
  position:relative;
  padding-left:18px;
}

.kp-cancel-impact span::before{
  content:"";
  position:absolute;
  left:2px;
  top:.55em;
  width:6px;
  height:6px;
  border-radius:50%;
  background:#8c3f35;
  opacity:.72;
}

.kp-subscription-cancel-link{
  width:auto;
  min-height:auto;
  margin:12px auto 0;
  padding:5px 8px;
  color:#8a5f52;
  font-size:12px;
  font-weight:850;
  text-decoration:underline;
  text-underline-offset:4px;
}

.kp-subscription-cancel-link:hover{
  color:#6f3c32;
}

.kp-settings-label{
  display:block;
  margin:0 0 12px;
  color:#a06b3f;
  font-size:11px;
  font-weight:950;
  letter-spacing:.16em;
  text-transform:uppercase;
}

.kp-settings-profile{
  display:flex;
  align-items:center;
  gap:16px;
}

.kp-settings-avatar{
  flex:0 0 auto;
  width:58px;
  height:58px;
  border-radius:50%;
  background:url("images/defaultpfp.png") center / 126% 126% no-repeat;
  box-shadow:0 12px 26px rgba(132,84,42,.18);
  overflow:hidden;
}

.kp-settings-avatar img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}

.kp-settings-avatar-button{
  position:relative;
  display:inline-flex;
  flex:0 0 auto;
  cursor:pointer;
  border-radius:999px;
}

.kp-settings-avatar-button:hover .kp-settings-avatar{
  transform:translateY(-1px);
  box-shadow:0 16px 30px rgba(132,84,42,.23);
}

.kp-settings-avatar-edit{
  position:absolute;
  right:-3px;
  bottom:-3px;
  display:grid;
  place-items:center;
  width:24px;
  height:24px;
  border:1px solid rgba(255,248,239,.95);
  border-radius:50%;
  background:#bb7f42;
  color:#fffaf4;
  font:700 17px/1 Georgia, "Times New Roman", serif;
  box-shadow:0 10px 18px rgba(132,84,42,.25);
}

.kp-settings-file{
  position:absolute;
  width:1px;
  height:1px;
  overflow:hidden;
  opacity:0;
  pointer-events:none;
}

.kp-settings-profile strong,
.kp-settings-row strong{
  color:#3f2a1f;
  font-size:16px;
}

.kp-settings-profile p{
  margin:4px 0 0;
  color:#7f6554;
}

.kp-settings-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding:14px 0;
  border-top:1px solid rgba(166,128,101,.13);
  color:#6f5647;
}

.kp-settings-row:first-of-type{
  border-top:0;
}

.kp-settings-username-value{
  display:inline-flex;
  align-items:center;
  gap:8px;
  min-width:0;
  justify-content:flex-end;
}

.kp-settings-username-value strong{
  max-width:min(12rem, 46vw);
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.kp-settings-username-edit{
  flex:0 0 auto;
  display:inline-grid;
  place-items:center;
  width:36px;
  height:36px;
  border-radius:50%;
  border:1px solid rgba(200,155,99,.52);
  background:
    linear-gradient(
      168deg,
      rgba(255,252,246,.98) 0%,
      rgba(245,225,200,.88) 38%,
      rgba(229,201,163,.62) 100%
    );
  color:#7a4f35;
  cursor:pointer;
  padding:0;
  box-shadow:
    0 4px 14px rgba(132,94,66,.12),
    inset 0 1px 0 rgba(255,255,255,.72);
  transition:border-color .2s ease, box-shadow .2s ease, transform .2s ease, color .2s ease, background .2s ease;
}

.kp-settings-username-edit:hover{
  border-color:rgba(200,155,99,.78);
  background:linear-gradient(135deg,#e5c9a3,#c89b63);
  color:#fffaf2;
  box-shadow:
    0 12px 28px rgba(200,155,99,.35),
    inset 0 1px 0 rgba(255,255,255,.28);
  transform:translateY(-1px);
}

.kp-settings-username-edit:active{
  transform:translateY(0);
  box-shadow:0 4px 14px rgba(200,155,99,.22);
}

.kp-settings-username-edit:focus-visible{
  outline:2px solid rgba(200,155,99,.55);
  outline-offset:2px;
}

.kp-settings-username-pencil{
  display:block;
  filter:drop-shadow(0 1px 0 rgba(255,255,255,.35));
}

.kp-settings-username-edit:hover .kp-settings-username-pencil{
  filter:drop-shadow(0 1px 0 rgba(0,0,0,.08));
}

.kp-settings-note{
  margin:0 0 16px;
  color:#725947;
  font-size:15px;
  line-height:1.7;
}

.kp-settings-primary,
.kp-settings-danger{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
  padding:0 18px;
  border:0;
  border-radius:999px;
  cursor:pointer;
  font:inherit;
  font-size:14px;
  font-weight:950;
  text-decoration:none;
}

.kp-settings-primary{
  background:#bb7f42;
  color:#fffaf4;
  box-shadow:0 14px 28px rgba(132,84,42,.18);
}

.kp-settings-toggle{
  display:flex;
  align-items:center;
  gap:14px;
  color:#3d2418;
  cursor:pointer;
}

.kp-settings-toggle input{
  position:absolute;
  opacity:0;
  pointer-events:none;
}

.kp-settings-toggle span{
  position:relative;
  width:48px;
  height:28px;
  flex:0 0 auto;
  border:1px solid rgba(166,128,101,.24);
  border-radius:999px;
  background:rgba(123,85,54,.18);
  box-shadow:inset 0 1px 2px rgba(80,45,28,.09);
  transition:background .2s ease, border-color .2s ease;
}

.kp-settings-toggle span::after{
  content:"";
  position:absolute;
  top:3px;
  left:3px;
  width:20px;
  height:20px;
  border-radius:50%;
  background:#fffaf4;
  box-shadow:0 5px 12px rgba(80,45,28,.18);
  transition:transform .2s ease;
}

.kp-settings-toggle input:checked + span{
  border-color:rgba(187,127,66,.42);
  background:#bb7f42;
}

.kp-settings-toggle input:checked + span::after{
  transform:translateX(20px);
}

.kp-settings-danger{
  background:#8c3f35;
  color:#fffaf4;
}

.kp-settings-danger:disabled{
  cursor:not-allowed;
  opacity:.62;
}

.kp-settings-message{
  margin:0 0 16px;
  padding:13px 15px;
  border-radius:16px;
  background:rgba(126,184,137,.18);
  color:#496d42;
  font-size:14px;
  font-weight:850;
}

.kp-settings-message[data-type="error"]{
  background:rgba(178,74,55,.12);
  color:#8c3f35;
}

.kp-settings-message[hidden]{
  display:none;
}

@media (max-width:520px){
  .auth-modal-inner{padding:30px 22px 24px}
  .auth-modal h2{font-size:34px}
  .kp-settings-modal{
    grid-template-columns:1fr;
    min-height:0;
  }
  .kp-settings-sidebar{
    flex-direction:row;
    overflow:auto;
    padding:18px;
    border-right:0;
    border-bottom:1px solid rgba(166,128,101,.16);
  }
  .kp-settings-kicker{display:none}
  .kp-settings-tab{
    flex:0 0 auto;
  }
  .kp-settings-tab.danger{
    margin-top:0;
  }
  .kp-settings-content{
    padding:30px 22px 24px;
  }
  .kp-settings-content h2{
    font-size:34px;
  }
}

@media (max-width:420px){
  .auth-modal-backdrop{
    padding:10px;
  }
  .auth-modal{
    border-radius:22px;
  }
  .auth-modal-close{
    top:10px;
    right:10px;
    width:34px;
    height:34px;
  }
  .auth-modal-inner{
    padding:24px 16px 18px;
  }
  .auth-modal h2{
    font-size:30px;
  }
  .auth-modal-subtitle{
    margin:10px 0 16px;
    font-size:14px;
  }
  .auth-field input{
    border-radius:14px;
    padding:13px 14px;
  }
  .auth-submit,
  .auth-google{
    min-height:44px;
    padding:12px 16px;
  }
  .auth-switch{
    margin-top:14px;
    font-size:13px;
  }
}

@media (max-width:768px){
  .kp-settings-backdrop{
    align-items:stretch;
    justify-content:stretch;
    padding:0;
    background:rgba(42,28,20,.46);
    -webkit-backdrop-filter:none;
    backdrop-filter:none;
  }

  .kp-settings-modal{
    width:100vw;
    min-height:100dvh;
    max-height:none;
    grid-template-columns:1fr;
    grid-template-rows:auto minmax(0,1fr);
    border:0;
    border-radius:0;
    background:#fffaf5;
    box-shadow:none;
  }

  .kp-settings-close{
    position:fixed;
    top:14px;
    right:14px;
    width:42px;
    height:42px;
    background:#fff;
    border-color:rgba(166,128,101,.22);
    color:#4f3326;
    box-shadow:0 12px 26px rgba(74,47,32,.12);
  }

  .kp-settings-sidebar{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px;
    max-height:none;
    overflow:visible;
    padding:70px 16px 16px;
    border:0;
    border-bottom:1px solid rgba(166,128,101,.14);
    background:
      radial-gradient(circle at 18% 0%, rgba(232,192,139,.25), transparent 42%),
      linear-gradient(180deg,#fff4e8 0%,#fffaf5 100%);
  }

  .kp-settings-kicker{
    display:block;
    grid-column:1 / -1;
    margin:0 54px 4px 0;
    color:#4a3024;
    font-family:Georgia,"Times New Roman",serif;
    font-size:28px;
    font-weight:500;
    letter-spacing:-.04em;
    line-height:1.05;
    text-transform:none;
  }

  .kp-settings-tab{
    justify-content:center;
    width:100%;
    min-height:48px;
    padding:0 12px;
    border:1px solid rgba(166,128,101,.16);
    border-radius:16px;
    background:rgba(255,255,255,.78);
    color:#5a3d32;
    font-size:13px;
    line-height:1.15;
    text-align:center;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.7);
  }

  .kp-settings-tab:hover,
  .kp-settings-tab.is-active{
    border-color:rgba(187,127,66,.42);
    background:linear-gradient(180deg,rgba(232,192,139,.28),rgba(255,255,255,.84));
    color:#3f2a1f;
    box-shadow:0 12px 24px rgba(117,77,45,.1), inset 0 1px 0 rgba(255,255,255,.78);
  }

  .kp-settings-tab.danger{
    grid-column:1 / -1;
    margin-top:0;
    color:#8c3f35;
    background:rgba(255,244,239,.9);
  }

  .kp-settings-content{
    min-height:0;
    overflow:auto;
    padding:20px 16px 28px;
    background:
      radial-gradient(circle at 100% 10%, rgba(232,192,139,.16), transparent 34%),
      #fffaf5;
  }

  .kp-settings-content h2{
    margin:0 0 14px;
    color:#3f2a1f;
    font-size:32px;
    line-height:1.05;
  }

  .kp-settings-message{
    margin:0 0 14px;
    border-radius:16px;
  }

  .kp-settings-card{
    padding:18px;
    border-radius:22px;
    background:#fffdf9;
    border-color:rgba(166,128,101,.16);
    box-shadow:0 14px 34px rgba(93,56,34,.08);
  }

  .kp-settings-profile{
    align-items:flex-start;
    gap:14px;
  }

  .kp-settings-avatar{
    width:64px;
    height:64px;
  }

  .kp-settings-profile strong,
  .kp-settings-row strong{
    overflow-wrap:anywhere;
  }

  .kp-settings-profile p{
    font-size:13px;
    line-height:1.45;
  }

  .kp-settings-row{
    align-items:flex-start;
    flex-direction:column;
    gap:5px;
    padding:13px 0;
  }

  .kp-settings-note{
    font-size:14px;
    line-height:1.6;
  }

  .kp-settings-primary,
  .kp-settings-danger,
  .kp-settings-secondary-action,
  .kp-premium-cta{
    width:100%;
    min-height:50px;
    padding:0 16px;
    text-align:center;
  }

  .kp-settings-toggle{
    align-items:flex-start;
    gap:12px;
  }

  .kp-settings-toggle strong{
    display:block;
    padding-top:3px;
    line-height:1.35;
  }

  .kp-settings-premium-card{
    padding:20px;
  }

  .kp-premium-benefits{
    gap:8px 10px;
    justify-content:flex-start;
    text-align:left;
  }

  .kp-daily-reward-backdrop{
    padding:8px;
  }

  .kp-daily-reward-modal{
    width:100%;
    max-height:calc(100dvh - 16px);
    border-radius:20px;
  }

  .kp-daily-reward-content{
    padding:18px 14px 14px;
  }

  .kp-bp-now{
    grid-template-columns:1fr;
  }

  .kp-bp-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    max-height:260px;
  }

  .kp-bp-grid-horizontal .kp-bp-cell{
    flex:0 0 142px;
    width:142px;
    aspect-ratio:1 / 1;
  }

.kp-bp-track header span{
    font-size:18px;
  }
}

@media (max-width: 900px){
  .kp-karma-shop-content{
    padding:28px 18px 22px;
  }
  .kp-karma-shop-layout{
    grid-template-columns:1fr;
  }
  .kp-karma-reward-grid{
    grid-template-columns:repeat(2, minmax(0,1fr));
  }
}

@media (max-width: 768px){
  .kp-karma-shop-backdrop{
    padding:10px;
  }
  .kp-karma-shop-modal{
    width:100%;
    max-height:calc(100dvh - 20px);
    border-radius:20px;
  }
  .kp-karma-offers-grid{
    grid-template-columns:1fr;
  }
  .kp-karma-reward-grid{
    grid-template-columns:1fr;
  }
}

/* --- Průvodce po prvním přihlášení --- */
html:has(body.kp-tour-active){
  scroll-behavior:auto !important;
}

body.kp-tour-active{
  overflow:hidden;
  touch-action:manipulation;
  overscroll-behavior:none;
}

.kp-tour-root{
  position:fixed;
  inset:0;
  z-index:2147483040;
  pointer-events:auto;
}

.kp-tour-ring{
  position:fixed;
  z-index:2147483041;
  border-radius:16px;
  border:3px solid rgba(201,162,39,.95);
  box-shadow:0 0 0 9999px rgba(22,14,10,.58);
  pointer-events:none;
  opacity:0;
  transition:opacity .2s ease, top .22s ease, left .22s ease, width .22s ease, height .22s ease;
}

.kp-tour-ring.is-visible{
  opacity:1;
}

.kp-tour-panel{
  position:fixed;
  z-index:2147483042;
  padding:20px 20px 16px;
  border-radius:20px;
  max-width:min(420px, calc(100vw - 28px));
  background:linear-gradient(165deg, rgba(255,252,247,.99), rgba(255,244,230,.97));
  border:1px solid rgba(166,128,101,.28);
  box-shadow:0 24px 56px rgba(48,28,18,.28), inset 0 1px 0 rgba(255,255,255,.65);
}

.kp-tour-panel--center{
  left:50%;
  top:50%;
  transform:translate(-50%, -50%);
  width:min(420px, calc(100vw - 28px));
}

.kp-tour-root.kp-tour-step-intro .kp-tour-panel{
  width:min(560px, calc(100vw - 28px));
  max-width:min(560px, calc(100vw - 28px));
  padding:26px 26px 20px;
}

.kp-tour-root.kp-tour-step-intro .kp-tour-heading{
  font-size:1.34rem;
}

.kp-tour-root.kp-tour-step-intro .kp-tour-text{
  font-size:15px;
  line-height:1.62;
}

.kp-tour-panel--dock{
  transform:none;
}

.kp-tour-heading{
  margin:0 0 10px;
  font-size:1.15rem;
  font-weight:900;
  color:#4a3228;
  line-height:1.25;
}

.kp-tour-text{
  margin:0 0 16px;
  font-size:14px;
  line-height:1.55;
  color:#5a3d32;
  font-weight:650;
}

.kp-tour-nav{
  display:flex;
  flex-wrap:nowrap;
  align-items:center;
  gap:8px;
  min-width:0;
}

.kp-tour-spacer{
  flex:1 1 0;
  min-width:0;
}

.kp-tour-skip{
  appearance:none;
  border:none;
  background:transparent;
  color:#916f5f;
  font-weight:800;
  font-size:13px;
  cursor:pointer;
  text-decoration:underline;
  text-underline-offset:3px;
  padding:6px 0;
  flex-shrink:0;
  white-space:nowrap;
}

.kp-tour-skip:hover{
  color:#6b442f;
}

.kp-tour-secondary,
.kp-tour-primary{
  appearance:none;
  border-radius:999px;
  font-weight:900;
  font-size:13px;
  padding:10px 12px;
  cursor:pointer;
  border:1px solid transparent;
  min-width:0;
  flex-shrink:1;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.kp-tour-secondary{
  background:rgba(255,252,248,.9);
  border-color:rgba(166,128,101,.35);
  color:#5a3d32;
}

.kp-tour-secondary:hover{
  background:rgba(255,248,239,.98);
}

.kp-tour-primary{
  background:linear-gradient(180deg, #deb174, #bb7f42);
  color:#fffaf4;
  border-color:rgba(255,255,255,.35);
  box-shadow:0 8px 18px rgba(132,84,42,.22);
}

.kp-tour-primary:hover{
  filter:brightness(1.03);
}

.kp-tour-foot{
  margin:12px 0 0;
  font-size:11px;
  font-weight:800;
  letter-spacing:.04em;
  text-transform:uppercase;
  color:#a0806c;
}

@media (max-width:520px){
  .kp-tour-panel{
    padding:18px 16px 14px;
  }
  .kp-tour-heading{
    font-size:1.05rem;
  }
}

@media (max-width:720px){
  .kp-tour-ring{
    box-shadow:0 0 0 min(160vmax,900vh) rgba(22,14,10,.58);
  }
  .kp-tour-panel--dock.kp-tour-panel--dock-bottom{
    left:0 !important;
    right:0 !important;
    bottom:0 !important;
    top:auto !important;
    width:100% !important;
    max-width:none !important;
    border-radius:22px 22px 0 0;
    padding:16px 16px calc(16px + env(safe-area-inset-bottom,0px)) !important;
    max-height:min(48vh,420px);
    overflow-x:hidden;
    overflow-y:auto;
    -webkit-overflow-scrolling:touch;
    box-shadow:0 -14px 44px rgba(48,28,18,.26);
  }
  .kp-tour-panel--dock.kp-tour-panel--dock-top{
    left:0 !important;
    right:0 !important;
    top:0 !important;
    bottom:auto !important;
    width:100% !important;
    max-width:none !important;
    border-radius:0 0 22px 22px;
    padding:calc(14px + env(safe-area-inset-top,0px)) 16px 16px !important;
    max-height:min(48vh,420px);
    overflow-x:hidden;
    overflow-y:auto;
    -webkit-overflow-scrolling:touch;
    box-shadow:0 14px 44px rgba(48,28,18,.26);
  }
  .kp-tour-root.kp-tour-step-intro .kp-tour-panel,
  .kp-tour-panel--center{
    max-height:min(82vh,640px);
    overflow-y:auto;
    -webkit-overflow-scrolling:touch;
  }
  .kp-tour-root.kp-tour-step-intro .kp-tour-panel{
    width:min(560px,calc(100vw - 20px));
    max-width:calc(100vw - 20px);
  }
  .kp-tour-nav{
    gap:8px;
  }
  .kp-tour-primary,
  .kp-tour-secondary{
    min-height:46px;
    padding:12px 16px;
  }
}
