/* JLPT180 TKC Specialized bags 4.11.34 */
.tkc-sp-modal[hidden]{display:none!important}
.tkc-sp-modal{position:fixed;inset:0;z-index:2147483500;display:flex;align-items:center;justify-content:center;padding:18px;background:rgba(15,23,42,.38);backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px)}
.tkc-sp-dialog{width:min(880px,100%);max-height:min(82vh,760px);overflow:auto;border:1.5px solid rgba(148,163,184,.38);border-radius:26px;background:linear-gradient(180deg,#fff 0%,#f8fffb 100%);box-shadow:0 28px 80px rgba(15,23,42,.24);padding:18px}
.tkc-sp-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:2px 2px 14px;border-bottom:1px solid rgba(148,163,184,.22)}
.tkc-sp-kicker{display:block;margin-bottom:4px;color:#be123c;font-size:12px;font-weight:900}
.tkc-sp-head h3{margin:0;color:#0f172a;font-size:24px;line-height:1.15;font-weight:1000}
.tkc-sp-head p{margin:6px 0 0;color:#64748b;font-size:13px;font-weight:750;line-height:1.45}
.tkc-sp-close{flex:0 0 auto;min-height:42px;padding:0 16px;border:0;border-radius:999px;background:#e11d48;color:#fff;font-weight:900;cursor:pointer}
.tkc-sp-access{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:14px 0;padding:12px 14px;border-radius:17px;font-size:13px;line-height:1.45}
.tkc-sp-access strong{font-weight:1000}.tkc-sp-access span{font-weight:750}
.tkc-sp-access.is-free{background:#fff7ed;border:1px solid #fed7aa;color:#9a3412}
.tkc-sp-access.is-open{background:#ecfdf5;border:1px solid #a7f3d0;color:#065f46}
.tkc-sp-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:11px}
.tkc-sp-bag{min-width:0;min-height:134px;padding:13px;border:1.5px solid rgba(59,130,246,.24);border-radius:18px;background:linear-gradient(180deg,#fff,#eff6ff);box-shadow:0 8px 18px rgba(15,23,42,.06);display:flex;flex-direction:column;align-items:flex-start;gap:4px;text-align:left;color:#0f172a}
.tkc-sp-bag:hover{border-color:rgba(37,99,235,.52);transform:translateY(-1px)}
.tkc-sp-bag-no{font-size:12px;font-weight:900;color:#2563eb}.tkc-sp-bag strong{font-size:19px;line-height:1.1}.tkc-sp-bag em{font-style:normal;color:#64748b;font-size:12px;font-weight:800}.tkc-sp-bag i{margin-top:auto;font-style:normal;font-size:12px;font-weight:900;color:#9f1239;line-height:1.45}
.tkc-sp-bag-actions{margin-top:auto;display:grid;grid-template-columns:1fr 1fr;gap:8px;width:100%}
.tkc-sp-bag-action{min-height:40px;border:0;border-radius:14px;padding:0 10px;font-size:13px;font-weight:900;cursor:pointer;box-shadow:0 8px 18px rgba(15,23,42,.08)}
.tkc-sp-bag-action.is-list{background:linear-gradient(135deg,#eff6ff,#dbeafe);color:#1d4ed8}
.tkc-sp-bag-action.is-flash{background:linear-gradient(135deg,#ede9fe,#ddd6fe);color:#6d28d9}
.tkc-sp-bag.is-locked{border-color:rgba(148,163,184,.34);background:linear-gradient(180deg,#fff,#f8fafc);color:#64748b;cursor:pointer}.tkc-sp-bag.is-locked .tkc-sp-bag-no{color:#9f1239}
.tkc-sp-upgrade{margin-top:14px;padding:14px;border-radius:19px;border:1.5px solid rgba(244,114,182,.28);background:linear-gradient(135deg,#fff1f2,#fff);display:flex;align-items:center;justify-content:space-between;gap:14px;color:#475569}
.tkc-sp-upgrade strong{display:block;margin-bottom:4px;color:#9f1239;font-size:15px}.tkc-sp-upgrade span{display:block;font-size:13px;font-weight:750;line-height:1.5}.tkc-sp-upgrade a{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:0 16px;border-radius:14px;background:linear-gradient(135deg,#e11d48,#db2777);color:#fff;text-decoration:none;font-size:13px;font-weight:900}
.tkc-sp-upgrade.is-pulse{animation:tkcSpPulse .45s ease 2}@keyframes tkcSpPulse{50%{transform:scale(1.012);box-shadow:0 0 0 5px rgba(244,114,182,.12)}}
html.tkc-sp-modal-open,body.tkc-sp-modal-open{overflow:hidden!important}
@media(max-width:760px){.tkc-sp-modal{padding:8px}.tkc-sp-dialog{max-height:90svh;border-radius:22px;padding:13px}.tkc-sp-head h3{font-size:20px}.tkc-sp-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.tkc-sp-bag{min-height:126px;padding:11px}.tkc-sp-upgrade{align-items:stretch;flex-direction:column}.tkc-sp-upgrade a{width:100%}.tkc-sp-bag-actions{grid-template-columns:1fr}.tkc-sp-bag-action{width:100%}}
@media(max-width:380px){.tkc-sp-grid{grid-template-columns:1fr 1fr}.tkc-sp-bag strong{font-size:17px}}
.tkc-sp-modal,.tkc-sp-modal *{box-sizing:border-box}


/* v4.11.35: stronger visible borders for specialized bag cards */
.tkc-sp-bag{
  border:2px solid rgba(148,163,184,.72)!important;
  background:linear-gradient(180deg,#ffffff 0%,#f8fbff 100%)!important;
  box-shadow:0 10px 22px rgba(15,23,42,.08), inset 0 0 0 1px rgba(255,255,255,.92)!important;
}
.tkc-sp-bag:hover{
  border-color:rgba(37,99,235,.82)!important;
  box-shadow:0 14px 26px rgba(15,23,42,.10), inset 0 0 0 1px rgba(255,255,255,.95)!important;
}
.tkc-sp-bag.is-locked{
  border:2px solid rgba(190,24,93,.34)!important;
  background:linear-gradient(180deg,#fffdfd 0%,#fff7fb 100%)!important;
  box-shadow:0 10px 22px rgba(15,23,42,.06), inset 0 0 0 1px rgba(255,255,255,.94)!important;
}
.tkc-sp-bag-actions .tkc-sp-bag-action{
  border:1px solid rgba(148,163,184,.22)!important;
}
