:root{font-family:Inter,Roboto,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.5;font-weight:400;color:#f3f4f6;background:radial-gradient(circle at top left,rgba(124,58,237,.2),transparent 35%),radial-gradient(circle at top right,rgba(59,130,246,.14),transparent 30%),#0b0b12;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}html{background:#0b0b12}body{margin:0;min-width:320px;min-height:100vh;background:radial-gradient(circle at top left,rgba(124,58,237,.2),transparent 35%),radial-gradient(circle at top right,rgba(59,130,246,.14),transparent 30%),#0b0b12}h1{line-height:1.1}button{font:inherit}#root{width:100%}.app-shell{width:min(1200px,calc(100vw - 32px));margin:0 auto;padding:32px 0 40px;display:grid;gap:20px}.app-header{padding:4px 4px 0}.eyebrow{margin:0 0 6px;color:#c4b5fd;font-size:.78rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.app-header h1{margin:0;font-size:clamp(2rem,3vw,2.75rem);font-weight:700;letter-spacing:-.03em}.subtitle{margin:8px 0 0;color:#c9c9d6}.card{background:#191821eb;border:1px solid rgba(196,181,253,.12);border-radius:24px;box-shadow:0 12px 32px #00000047;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.input-panel{display:flex;flex-direction:column;gap:1rem;padding:20px}.input-panel.collapsed{gap:.5rem}.input-panel textarea{box-sizing:border-box;width:100%;min-height:220px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:12px;line-height:1.5;padding:1rem 1.1rem;border-radius:20px;border:1px solid rgba(196,181,253,.18);background:#111118;color:#f3f4f6;resize:vertical;transition:border-color .2s,box-shadow .2s,transform .2s}.input-panel textarea:focus{outline:none;border-color:#c4b5fd;box-shadow:0 0 0 4px #c4b5fd24}.actions{display:flex;gap:.75rem;flex-wrap:wrap}.input-panel.collapsed .actions{display:flex}.actions button{padding:.55rem .95rem;border-radius:999px;border:1px solid transparent;background:#2b2936;color:#f3f4f6;cursor:pointer;font-size:.9rem;font-weight:500;transition:transform .2s,box-shadow .2s,background .2s}.actions button.primary{background:#7c3aed;color:#fff;box-shadow:0 6px 14px #7c3aed4d}.actions button:hover{transform:translateY(-1px)}.actions button:active{transform:translateY(0)}.actions button.secondary{background:#262432}.actions button.secondary:hover{background:#312d40}.output-panel{box-sizing:border-box;padding:20px;min-height:400px}.error{color:#f87171;font-size:.95rem}.placeholder{color:#a1a1aa;font-size:.95rem;text-align:center;padding:4rem 2rem}.tree{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:12px;line-height:1.5;color:#f3f4f6}.tree .node{margin-left:1.2rem}.tree .row{display:flex;align-items:center;gap:.4rem}.tree .toggle{width:1rem;text-align:center;display:inline-block;cursor:pointer;color:#c4b5fd;-webkit-user-select:none;user-select:none}.tree .key{color:#f3f4f6}.tree .type{color:#c4b5fd}.tree .value{color:#f3f4f6}.tree .name{color:#93c5fd;font-weight:500}.badge{display:inline-block;font-size:10px;line-height:1;padding:.25rem .4rem;border-radius:999px;border:1px solid transparent;text-transform:uppercase;letter-spacing:.03em;font-weight:600}.badge-struct{background:#322659;border-color:#5b3f9f;color:#ddd6fe}.badge-array{background:#1e293b;border-color:#334155;color:#93c5fd}.tree .value.index{color:#a1a1aa}
