.l2-converter-wrap{
  --l2c-bg:#121212;
  --l2c-surface:rgba(255,255,255,0.04);
  --l2c-surface-2:rgba(255,255,255,0.06);
  --l2c-border:rgba(255,255,255,0.10);
  --l2c-border-strong:rgba(255,255,255,0.16);
  --l2c-text:#f5f5f5;
  --l2c-text-soft:#d8d8d8;
  --l2c-muted:#a6a6a6;
  --l2c-gold:#d4a63a;
  --l2c-gold-2:#f1c55b;
  --l2c-green:#54aa50;
  --l2c-green-2:#69c265;
  --l2c-focus:0 0 0 4px rgba(212,166,58,0.14);
  --l2c-shadow:0 28px 70px rgba(0,0,0,0.38);
  margin:32px 0;
  color:var(--l2c-text);
}
.l2-converter-wrap *{box-sizing:border-box;}
.l2-converter-wrap .l2c-shell{max-width:1320px;}
.l2-converter-wrap .l2c-page-title{
  margin:0 0 26px;
  color:#f2f2f2 !important;
  font-size:42px;
  line-height:1.08;
  font-weight:700;
  letter-spacing:-0.03em;
}
.l2-converter-wrap .l2c-panel{
  position:relative;
  padding:26px 28px 28px;
  border-radius:26px;
  border:1px solid var(--l2c-border);
  background:linear-gradient(90deg, rgba(255,255,255,0.03) 0%, rgba(255,255,255,0.055) 50%, rgba(255,255,255,0.03) 100%);
  box-shadow:var(--l2c-shadow);
  overflow:hidden;
}
.l2-converter-wrap .l2c-panel::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:radial-gradient(circle at 50% 0%, rgba(255,255,255,0.08), transparent 55%);
  opacity:.55;
}
.l2-converter-wrap .l2c-panel > *{position:relative;z-index:1;}
.l2-converter-wrap .l2c-panel-head{margin-bottom:18px;}
.l2-converter-wrap .l2c-panel-head h3{
  margin:0 0 6px;
  color:var(--l2c-text) !important;
  font-size:22px;
  line-height:1.15;
  font-weight:700;
}
.l2-converter-wrap .l2c-panel-head p{
  margin:0;
  color:var(--l2c-muted) !important;
  font-size:14px;
  line-height:1.6;
}
.l2-converter-wrap .l2c-form{margin:0;}
.l2-converter-wrap .l2c-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:26px;
  align-items:end;
}
.l2-converter-wrap .l2c-field{display:block; margin:0;}
.l2-converter-wrap .l2c-field span{
  display:block;
  margin:0 0 10px;
  color:#f1f1f1 !important;
  font-size:15px;
  font-weight:600;
}
.l2-converter-wrap .l2c-field select,
.l2-converter-wrap .l2c-field textarea,
.l2-converter-wrap .l2c-field input{
  width:100% !important;
  border-radius:12px !important;
  border:1px solid rgba(255,255,255,0.12) !important;
  background:rgba(255,255,255,0.06) !important;
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
  box-shadow:none !important;
  transition:border-color .25s ease, box-shadow .25s ease, background .25s ease, transform .25s ease;
}
.l2-converter-wrap .l2c-field select{
  min-height:52px !important;
  padding:0 18px !important;
}
.l2-converter-wrap .l2c-field textarea{
  min-height:132px !important;
  padding:16px 18px !important;
  resize:vertical;
  line-height:1.6;
}
.l2-converter-wrap .l2c-field select option{background:#1b1b1b;color:#f5f5f5;}
.l2-converter-wrap .l2c-field select:focus,
.l2-converter-wrap .l2c-field textarea:focus,
.l2-converter-wrap .l2c-field input:focus{
  outline:none !important;
  border-color:rgba(212,166,58,0.72) !important;
  box-shadow:var(--l2c-focus) !important;
  background:rgba(255,255,255,0.08) !important;
}
.l2-converter-wrap .l2c-field textarea::placeholder,
.l2-converter-wrap .l2c-field input::placeholder{color:#9f9f9f !important;-webkit-text-fill-color:#9f9f9f !important;}
.l2-converter-wrap .l2c-field--textarea{
  max-width:620px;
  margin:24px 0 0;
}
.l2-converter-wrap .l2c-actions{
  margin-top:18px;
  display:flex;
  justify-content:flex-start;
}
.l2-converter-wrap .l2c-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:150px;
  min-height:56px;
  padding:0 26px;
  border:none !important;
  border-radius:14px !important;
  background:linear-gradient(135deg, var(--l2c-green), var(--l2c-green-2)) !important;
  color:#fff !important;
  font-size:17px;
  font-weight:800;
  letter-spacing:.04em;
  text-transform:uppercase;
  box-shadow:0 16px 32px rgba(84,170,80,0.26);
  cursor:pointer;
  transition:transform .2s ease, box-shadow .2s ease, opacity .2s ease, filter .2s ease;
}
.l2-converter-wrap .l2c-btn:hover{
  transform:translateY(-1px);
  box-shadow:0 20px 38px rgba(84,170,80,0.3);
  filter:brightness(1.03);
}
.l2-converter-wrap .l2c-btn:focus-visible{outline:none;box-shadow:var(--l2c-focus), 0 20px 38px rgba(84,170,80,0.3);}
.l2-converter-wrap .l2c-alert{
  margin-top:18px;
  padding:14px 16px;
  border-radius:14px;
  border:1px solid rgba(255,107,107,0.25);
  background:rgba(255,107,107,0.09);
  color:#ffd1d1;
}
.l2-converter-wrap .l2c-result{
  margin-top:26px;
  padding:22px;
  border-radius:22px;
  border:1px solid var(--l2c-border);
  background:linear-gradient(180deg, rgba(255,255,255,0.045), rgba(255,255,255,0.02));
}
.l2-converter-wrap .l2c-result-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  margin-bottom:14px;
}
.l2-converter-wrap .l2c-result-head h4{
  margin:0;
  color:#fff !important;
  font-size:20px;
  font-weight:700;
}
.l2-converter-wrap .l2c-badge{
  display:inline-flex;
  align-items:center;
  min-height:34px;
  padding:0 12px;
  border-radius:999px;
  background:rgba(212,166,58,0.14);
  border:1px solid rgba(212,166,58,0.24);
  color:var(--l2c-gold-2);
  font-size:12px;
  font-weight:700;
  letter-spacing:.04em;
  text-transform:uppercase;
}
.l2-converter-wrap .l2c-result textarea,
.l2-converter-wrap .l2c-result pre{
  width:100%;
  margin:0;
  border-radius:14px;
  border:1px solid rgba(255,255,255,0.09);
  background:rgba(0,0,0,0.22);
  color:#f5f5f5;
}
.l2-converter-wrap .l2c-result textarea{
  min-height:180px;
  padding:16px 18px;
}
.l2-converter-wrap .l2c-debug-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
  margin-top:16px;
}
.l2-converter-wrap .l2c-details{
  border:1px solid rgba(255,255,255,0.09);
  border-radius:16px;
  overflow:hidden;
  background:rgba(255,255,255,0.025);
}
.l2-converter-wrap .l2c-details summary{
  list-style:none;
  cursor:pointer;
  padding:14px 16px;
  color:#fff;
  font-weight:700;
}
.l2-converter-wrap .l2c-details summary::-webkit-details-marker{display:none;}
.l2-converter-wrap .l2c-details pre{
  border:none;
  border-top:1px solid rgba(255,255,255,0.08);
  border-radius:0;
  padding:16px;
  white-space:pre-wrap;
  word-break:break-word;
}
.l2c-map-table-wrap {
    overflow: auto;
    border: 1px solid rgba(255,255,255,0.08);
    border-radius: 14px;
    background: rgba(255,255,255,0.02);
}

.l2c-map-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 13px;
}

.l2c-map-table th,
.l2c-map-table td {
    padding: 10px 12px;
    text-align: left;
    vertical-align: top;
    border-bottom: 1px solid rgba(255,255,255,0.06);
}

.l2c-map-table th {
    position: sticky;
    top: 0;
    background: rgba(20,20,20,0.95);
    z-index: 1;
}

.l2c-map-table tr.is-missing td {
    background: rgba(255, 193, 7, 0.05);
}

.l2c-map-table tr.is-filled td {
    background: transparent;
}

.l2c-empty-value {
    opacity: 0.55;
    font-style: italic;
}

.l2c-badge--missing {
    background: rgba(255, 193, 7, 0.18);
    color: #ffd54f;
}

.l2c-badge--filled {
    background: rgba(76, 175, 80, 0.18);
    color: #81c784;
}

.l2c-success-line {
    color: #00ff9c;
    font-weight: 700;
    text-shadow:
        0 0 6px rgba(0, 255, 156, 0.8),
        0 0 12px rgba(0, 255, 156, 0.6),
        0 0 18px rgba(0, 255, 156, 0.4);
}
#l2c-input-message {
    margin-top: 8px;
    padding: 10px 12px;
    border-radius: 8px;
    font-size: 13px;
    line-height: 1.5;
}
#l2c-input-message.l2c-input-note--ok {
    background: rgba(76, 175, 80, 0.08);
    color: #81c784;
    border: 1px solid rgba(76, 175, 80, 0.2);
}

#l2c-input-message.l2c-input-note--error {
    background: rgba(244, 67, 54, 0.08);
    color: #ef9a9a;
    border: 1px solid rgba(244, 67, 54, 0.2);
}

@media (max-width: 1024px){
  .l2-converter-wrap .l2c-grid{grid-template-columns:1fr; gap:18px;}
  .l2-converter-wrap .l2c-field--textarea{max-width:none;}
  .l2-converter-wrap .l2c-debug-grid{grid-template-columns:1fr;}
}
@media (max-width: 767px){
  .l2-converter-wrap{margin:24px 0;}
  .l2-converter-wrap .l2c-page-title{font-size:34px; margin-bottom:20px;}
  .l2-converter-wrap .l2c-panel{padding:20px 18px; border-radius:20px;}
  .l2-converter-wrap .l2c-panel-head h3{font-size:20px;}
  .l2-converter-wrap .l2c-field textarea{min-height:120px !important;}
  .l2-converter-wrap .l2c-btn{width:100%; min-width:100%;}
  .l2-converter-wrap .l2c-result{padding:18px; border-radius:18px;}
  .l2-converter-wrap .l2c-result-head{align-items:flex-start; flex-direction:column;}
}
