*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
  :root{
    --bg:#0a0a0f;--bg2:#0f0f17;--surface:#111118;--surface2:#1a1a25;
    --border:#252535;--text:#e2e4e9;--text2:#8888a0;--text3:#666680;
    --accent:#a78bfa;--accent2:#7c3aed;--accent3:#6366f1;
    --accent-bg:rgba(124,58,237,0.12);--accent-bg2:rgba(99,102,241,0.08);
    --success:#22c55e;--warn:#f59e0b;--danger:#ef4444;
    --radius:14px;--radius-sm:10px;--radius-xs:6px;
    --font:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',system-ui,sans-serif;
    --mono:'JetBrains Mono','Cascadia Code','Fira Code',Consolas,monospace;
  }
  html{scroll-behavior:smooth}
  body{
    font-family:var(--font);background:var(--bg);color:var(--text);
    min-height:100vh;line-height:1.6;
    -webkit-font-smoothing:antialiased;
  }
  body::before{
    content:'';position:fixed;inset:0;pointer-events:none;z-index:0;
    background:
      radial-gradient(ellipse 80% 50% at 20% 0%,rgba(124,58,237,0.07),transparent 50%),
      radial-gradient(ellipse 60% 60% at 80% 100%,rgba(99,102,241,0.05),transparent 50%);
  }
  a,button,select,label,.tool-card,.btn,.cat-tab,[onclick]{cursor:pointer}
  a{color:var(--accent);text-decoration:none}
  a:hover{text-decoration:underline}

  .header{
    position:sticky;top:0;z-index:100;
    background:rgba(10,10,15,0.85);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);
    border-bottom:1px solid var(--border);
    padding:0 24px;height:56px;display:flex;align-items:center;justify-content:space-between;
  }
  .header-left{display:flex;align-items:center;gap:16px}
  .logo{display:flex;align-items:center;gap:10px;font-weight:700;font-size:18px;text-decoration:none;color:var(--text)}
  .logo:hover{text-decoration:none}
  .logo-icon{
    width:34px;height:34px;border-radius:var(--radius-xs);
    background:linear-gradient(135deg,var(--accent2),var(--accent3));
    display:flex;align-items:center;justify-content:center;font-size:16px;
  }
  #langSwitcher{
    background:var(--surface2);color:var(--text2);border:1px solid var(--border);
    border-radius:var(--radius-xs);padding:6px 10px;font-size:13px;font-family:var(--font);
  }
  #langSwitcher:focus{outline:none;border-color:var(--accent)}

  .hero{
    position:relative;z-index:1;text-align:center;padding:64px 24px 40px;
    max-width:800px;margin:0 auto;
  }
  .hero h1{font-size:clamp(28px,5vw,46px);font-weight:800;line-height:1.2;margin-bottom:16px;letter-spacing:-0.02em}
  .hero h1 .gradient{
    background:linear-gradient(135deg,#a78bfa,#7c3aed,#6366f1,#8b5cf6);
    -webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;
  }
  .hero p{font-size:18px;color:var(--text2);max-width:560px;margin:0 auto 24px}
  .hero-badges{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
  .badge{
    display:flex;align-items:center;gap:6px;padding:6px 14px;
    border-radius:99px;font-size:13px;font-weight:500;
    background:var(--surface2);color:var(--text2);border:1px solid var(--border);
  }
  .badge::before{content:'';width:6px;height:6px;border-radius:50%;background:var(--success)}

  .tool-grid{
    position:relative;z-index:1;display:grid;
    grid-template-columns:repeat(auto-fill,minmax(170px,1fr));
    gap:12px;max-width:900px;margin:0 auto 32px;padding:0 24px;
  }
  .tool-card{
    background:var(--surface);border:1px solid var(--border);
    border-radius:var(--radius);padding:20px 16px;
    text-align:center;transition:all 0.2s;user-select:none;
  }
  .tool-card:hover{border-color:var(--accent2);background:var(--surface2);transform:translateY(-2px)}
  .tool-card.active{border-color:var(--accent);background:var(--accent-bg);box-shadow:0 0 20px rgba(124,58,237,0.15)}
  .tool-card .icon{font-size:28px;margin-bottom:8px;display:block}
  .tool-card .name{font-weight:600;font-size:14px;color:var(--text)}
  .tool-card .desc{font-size:12px;color:var(--text3);margin-top:4px}

  .workspace{
    position:relative;z-index:1;max-width:1200px;margin:0 auto;padding:0 24px 60px;
    display:none;
  }
  .workspace.active{display:block}

  .toolbar{
    display:flex;align-items:center;gap:10px;margin-bottom:12px;flex-wrap:wrap;
    padding:12px 16px;background:var(--surface);border:1px solid var(--border);
    border-radius:var(--radius-sm);
  }
  .toolbar-group{display:flex;align-items:center;gap:6px}
  .toolbar-divider{width:1px;height:24px;background:var(--border);margin:0 4px}
  .btn{
    display:inline-flex;align-items:center;gap:6px;padding:8px 16px;
    border-radius:var(--radius-xs);font-size:13px;font-weight:500;
    border:1px solid var(--border);background:var(--surface2);color:var(--text2);
    transition:all 0.15s;white-space:nowrap;font-family:var(--font);
  }
  .btn:hover{background:var(--border);color:var(--text)}
  .btn-primary{
    background:linear-gradient(135deg,var(--accent2),var(--accent3));
    color:#fff;border:none;box-shadow:0 2px 12px rgba(124,58,237,0.3);
  }
  .btn-primary:hover{box-shadow:0 4px 20px rgba(124,58,237,0.45);transform:translateY(-1px)}
  .btn-sm{padding:5px 10px;font-size:12px}

  .editor-area{display:grid;grid-template-columns:1fr 1fr;gap:12px;min-height:420px}
  @media(max-width:768px){.editor-area{grid-template-columns:1fr}}
  .editor-panel{
    background:var(--surface);border:1px solid var(--border);
    border-radius:var(--radius);overflow:hidden;display:flex;flex-direction:column;
  }
  .panel-header{
    display:flex;align-items:center;justify-content:space-between;
    padding:8px 14px;border-bottom:1px solid var(--border);
    font-size:12px;font-weight:600;color:var(--text2);
    background:var(--surface2);
  }
  .panel-body{flex:1;position:relative}
  textarea.json-input{
    width:100%;height:100%;min-height:380px;resize:vertical;
    background:transparent;border:none;color:var(--text);
    font-family:var(--mono);font-size:13px;line-height:1.65;
    padding:14px;outline:none;tab-size:2;
  }
  textarea.json-input::placeholder{color:var(--text3)}
  .json-output{
    height:100%;min-height:380px;overflow:auto;padding:14px;
    font-family:var(--mono);font-size:13px;line-height:1.65;
    white-space:pre-wrap;word-break:break-all;
    color:var(--text2);
  }
  .json-output.error{color:var(--danger)}
  .json-output.empty{color:var(--text3);display:flex;align-items:center;justify-content:center;font-style:italic}

  .stats-bar{
    display:flex;align-items:center;gap:16px;padding:8px 14px;
    border-top:1px solid var(--border);background:var(--surface2);
    font-size:12px;color:var(--text3);
  }
  .stats-bar .stat.success{color:var(--success)}
  .stats-bar .stat.danger{color:var(--danger)}

  .tree-view{font-family:var(--mono);font-size:13px;line-height:1.8;padding:14px}
  .tree-node{margin-left:20px;position:relative}
  .tree-key{color:#a78bfa;cursor:pointer;user-select:none}
  .tree-key:hover{color:#c4b5fd}
  .tree-toggle{display:inline-block;width:16px;cursor:pointer;color:var(--text3);user-select:none;font-size:11px;text-align:center;transition:transform 0.15s}
  .tree-toggle.expanded{transform:rotate(90deg)}
  .tree-val-string{color:#22c55e}
  .tree-val-number{color:#f59e0b}
  .tree-val-boolean{color:#6366f1}
  .tree-val-null{color:#ef4444}
  .tree-bracket{color:var(--text3)}

  .drop-overlay{
    position:fixed;inset:0;z-index:999;background:rgba(124,58,237,0.12);
    border:3px dashed var(--accent);display:none;align-items:center;justify-content:center;
    font-size:24px;font-weight:700;color:var(--accent);pointer-events:none;
  }
  .drop-overlay.show{display:flex}

  /* Footer */
  .site-footer{
    position:relative;z-index:1;text-align:center;padding:32px 24px 40px;
    border-top:1px solid var(--border);max-width:1200px;margin:0 auto;
    font-size:13px;color:var(--text3);
  }
  .site-footer a{color:var(--text2);margin:0 8px}
  .site-footer a:hover{color:var(--text)}

  /* Cookie Consent */
  .cookie-consent{position:fixed;bottom:0;left:0;right:0;z-index:9999;background:rgba(15,17,26,0.97);border-top:1px solid var(--border);padding:16px 24px;display:none;backdrop-filter:blur(12px)}
  .cookie-consent.show{display:block}
  .cookie-inner{max-width:860px;margin:0 auto;display:flex;align-items:center;gap:16px;flex-wrap:wrap}
  .cookie-text{flex:1;font-size:14px;color:var(--text);line-height:1.6;min-width:250px}
  .cookie-text a{color:var(--accent);text-decoration:underline}
  .cookie-btns{display:flex;gap:8px;flex-shrink:0}
  .cookie-btn{padding:8px 20px;border-radius:6px;font-size:14px;cursor:pointer;border:1px solid var(--border);transition:all .2s;font-family:inherit;white-space:nowrap}
  .cookie-accept{background:var(--accent2);color:#fff;border-color:var(--accent2)}
  .cookie-accept:hover{background:var(--accent3)}
  .cookie-decline{background:transparent;color:var(--text2)}
  .cookie-decline:hover{color:var(--text);border-color:var(--text3)}

  @media(max-width:768px){
    .toolbar{flex-wrap:wrap;gap:8px}
    .toolbar-group{width:100%;justify-content:space-between}
    .tool-grid{grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:8px;padding:0 16px}
    .hero{padding:40px 16px 28px}
    .header{padding:0 16px}
    .workspace{padding:0 12px 40px}
    .cookie-inner{flex-direction:column;text-align:center}
    .cookie-btns{width:100%;justify-content:center}
  }

  @keyframes fadeIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
  .workspace.active{animation:fadeIn 0.25s ease}

  ::-webkit-scrollbar{width:6px;height:6px}
  ::-webkit-scrollbar-track{background:transparent}
  ::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}
  ::-webkit-scrollbar-thumb:hover{background:var(--text3)}