@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Manrope:wght@400;600;700&display=swap";:root{font-family:Inter,Manrope,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:var(--color-text);background-color:var(--color-page);--color-text: #0f172a;--color-page: #f6f7fb;--color-body: #eef2f6;--color-muted: #475569;--color-border: rgba(148, 163, 184, .4);--color-strong: #0b1220;--color-accent: #2563eb;--color-accent-strong: #7c3aed;--color-panel-shadow: 0 24px 60px -30px rgba(15, 23, 42, .45);--color-surface-muted: rgba(248, 250, 252, .9);--color-field-border: rgba(148, 163, 184, .45);--color-field-bg: rgba(255, 255, 255, .9);--color-field-bg-muted: rgba(248, 250, 252, .85);--color-button-text: #ffffff;--color-button-contrast: #1f2937;--color-table-border: rgba(148, 163, 184, .35);--color-table-header: rgba(241, 245, 249, .7);--color-table-surface: rgba(255, 255, 255, .42);--color-manual-preview-bg: rgba(15, 23, 42, .9);--color-manual-preview-text: #f8fafc;--color-json-preview-bg: rgba(15, 23, 42, .9);--color-json-preview-text: #f8fafc;--color-empty: #475569;--color-error-bg: rgba(254, 226, 226, .7);--color-error-text: #991b1b;--color-warning-bg: rgba(254, 243, 199, .7);--color-warning-text: #92400e;--color-schema-helper-bg: rgba(219, 234, 254, .9);--color-schema-helper-border: rgba(147, 197, 253, .6);--color-schema-helper-text: #0f172a;--color-schema-helper-input-border: rgba(148, 163, 184, .65);--color-success: #166534;--color-danger: #b91c1c;--color-danger-strong: #ef4444;--color-card-surface: linear-gradient(160deg, rgba(255, 255, 255, .82), rgba(248, 250, 252, .78));--color-card-border: rgba(148, 163, 184, .35);--color-code-bg: rgba(15, 23, 42, .92);--color-code-text: #f8fafc;--gradient-header: linear-gradient(135deg, #f8fafc 0%, #e2e8f0 45%, #ffffff 100%);--gradient-button: linear-gradient(135deg, var(--color-accent), var(--color-accent-strong));--gradient-button-hover: linear-gradient(135deg, #1d4ed8, #6d28d9);--gradient-outline: linear-gradient(120deg, rgba(99, 102, 241, .3), rgba(14, 165, 233, .3));--shadow-soft: 0 14px 40px -20px rgba(15, 23, 42, .45)}:root.theme-dark{--color-text: #f8fafc;--color-page: #050712;--color-body: #04040c;--color-muted: #94a3b8;--color-border: rgba(99, 102, 241, .35);--color-strong: #ffffff;--color-accent: #60a5fa;--color-accent-strong: #8b5cf6;--color-panel-shadow: 0 28px 70px -34px rgba(17, 24, 39, .6);--color-surface-muted: rgba(15, 23, 42, .65);--color-field-border: rgba(99, 102, 241, .45);--color-field-bg: rgba(15, 23, 42, .72);--color-field-bg-muted: rgba(17, 24, 39, .7);--color-button-text: #f8fafc;--color-button-contrast: #312e81;--color-table-border: rgba(148, 163, 184, .25);--color-table-header: rgba(30, 41, 59, .85);--color-table-surface: rgba(17, 24, 39, .72);--color-manual-preview-bg: rgba(10, 10, 24, .85);--color-manual-preview-text: #e2e8f0;--color-json-preview-bg: rgba(10, 10, 24, .85);--color-json-preview-text: #e2e8f0;--color-empty: #cbd5f5;--color-error-bg: rgba(127, 29, 29, .65);--color-error-text: #fee2e2;--color-warning-bg: rgba(120, 53, 15, .65);--color-warning-text: #fde68a;--color-schema-helper-bg: rgba(29, 78, 216, .6);--color-schema-helper-border: rgba(59, 130, 246, .55);--color-schema-helper-text: #e2e8f0;--color-schema-helper-input-border: rgba(96, 165, 250, .55);--color-success: #4ade80;--color-danger: #fca5a5;--color-danger-strong: #f87171;--color-card-surface: linear-gradient(160deg, rgba(17, 24, 39, .68), rgba(30, 41, 59, .64));--color-card-border: rgba(99, 102, 241, .32);--color-code-bg: rgba(8, 11, 26, .9);--color-code-text: #f8fafc;--gradient-header: linear-gradient(140deg, #0f172a 0%, #1e1b4b 45%, #312e81 100%);--gradient-button: linear-gradient(135deg, #3b82f6, #8b5cf6);--gradient-button-hover: linear-gradient(135deg, #2563eb, #7c3aed);--gradient-outline: linear-gradient(130deg, rgba(59, 130, 246, .4), rgba(139, 92, 246, .35));--shadow-soft: 0 28px 70px -30px rgba(2, 6, 23, .65)}body{margin:0;background:var(--color-body);color:var(--color-text);font-family:inherit;min-height:100vh;transition:background-color .2s ease-in-out,color .2s ease-in-out}*{box-sizing:border-box}a{color:inherit}input,select{border-radius:.85rem;border:1px solid var(--color-field-border);background:var(--color-field-bg);color:var(--color-text);padding:.55rem .75rem;font-family:inherit;font-size:.95rem;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}textarea{font-family:Fira Code,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;color:var(--color-text);border-radius:.9rem;border:1px solid var(--color-field-border);background:var(--color-field-bg-muted);padding:.9rem 1rem;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}button{cursor:pointer}button[disabled]{cursor:not-allowed;opacity:.6;transform:none!important;box-shadow:none!important}::selection{background:#6366f166;color:var(--color-strong)}button,input,select,textarea,.app__header,.panel,.definition-tabs button,.view-tabs button,.mode-selector button,.schema-helper,.schema-helper__actions button,.edge-info,.example-card,.manual-field,.manual-preview,.json-preview,.theme-toggle,.menu-toggle,.table-wrapper,.code-block,.app__nav,.add-field,.panel__actions button,.edge-slider input[type=range]{transition:background-color .18s ease-in-out,color .18s ease-in-out,border-color .18s ease-in-out,box-shadow .18s ease-in-out,transform .18s ease-in-out,opacity .18s ease-in-out}input:focus,select:focus,textarea:focus{outline:none;border-color:transparent;box-shadow:0 0 0 2px #6366f159,0 8px 22px -16px #2563eb73}.theme-transition,.theme-transition *{transition:background-color .22s ease-in-out,color .22s ease-in-out,border-color .22s ease-in-out,box-shadow .22s ease-in-out!important}.app{max-width:min(100%,72rem);margin:0 auto;padding:1.5rem 1rem 2.5rem;display:flex;flex-direction:column;gap:2rem}@media (min-width: 768px){.app{padding:2rem 1.5rem 3rem;gap:2.5rem}}.app__header{position:relative;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.25rem 1.5rem;border-radius:1.5rem;background:var(--gradient-header);border:1px solid var(--color-border);box-shadow:var(--shadow-soft);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}.app__brand{display:flex;align-items:center;gap:1rem;min-width:0}.brand-mark{width:48px;height:48px;border-radius:16px;background:var(--gradient-button);box-shadow:0 16px 40px -22px #2563ebb3;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.85rem;letter-spacing:.08em;color:var(--color-button-text);text-transform:uppercase}.brand-copy{display:flex;flex-direction:column;gap:.25rem}.app__header h1{margin:0;font-size:clamp(1.5rem,1.2rem + 1vw,2rem);font-weight:700;color:var(--color-strong)}.app__header p{margin:0;color:var(--color-muted);font-size:.95rem;max-width:32rem}.menu-toggle{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:16px;border:1px solid transparent;background:var(--color-field-bg);box-shadow:0 12px 30px -20px #0f172a73}.menu-toggle:hover{background:var(--color-field-bg-muted)}.menu-toggle .menu-icon{position:relative;width:22px;height:2px;border-radius:999px;background:var(--color-text);display:inline-block}.menu-toggle .menu-icon:before,.menu-toggle .menu-icon:after{content:"";position:absolute;left:0;width:22px;height:2px;border-radius:999px;background:var(--color-text);transition:transform .18s ease-in-out,top .18s ease-in-out,opacity .18s ease-in-out}.menu-toggle .menu-icon:before{top:-7px}.menu-toggle .menu-icon:after{top:7px}.menu-toggle.is-active .menu-icon{background:transparent}.menu-toggle.is-active .menu-icon:before{top:0;transform:rotate(45deg)}.menu-toggle.is-active .menu-icon:after{top:0;transform:rotate(-45deg)}.app__nav{position:fixed;inset:0 0 0 auto;width:min(80vw,20rem);background:var(--color-card-surface);border-left:1px solid var(--color-card-border);box-shadow:0 28px 60px -34px #0f172a8c;backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px);transform:translate(110%);padding:2rem 1.5rem;display:flex;z-index:50;pointer-events:none}.app__nav.is-open{transform:translate(0);pointer-events:auto}.nav-inner{display:flex;flex-direction:column;gap:1.5rem;width:100%}.nav-section{display:flex;flex-direction:column;gap:.75rem}.nav-label{font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;color:var(--color-muted)}.nav-footer{margin-top:auto}.nav-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a73;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);z-index:40}.view-tabs{display:flex;flex-wrap:wrap;gap:.5rem}.view-tabs button{padding:.45rem 1rem;border-radius:.85rem;border:1px solid transparent;background:var(--color-field-bg);color:var(--color-strong);font-weight:600;min-width:7rem}.view-tabs button:hover{background:var(--color-field-bg-muted);transform:translateY(-1px)}.view-tabs button.active{background:var(--gradient-button);color:var(--color-button-text);box-shadow:0 14px 30px -18px #2563eb8c}.mode-selector{display:flex;flex-wrap:wrap;gap:.5rem}.mode-selector button{padding:.5rem 1rem;border-radius:.85rem;border:1px solid rgba(148,163,184,.3);background:var(--color-field-bg);font-weight:600;color:var(--color-strong);min-width:8rem}.mode-selector button:hover{background:var(--color-field-bg-muted);transform:translateY(-1px)}.mode-selector button.active{background:var(--gradient-button);color:var(--color-button-text);border-color:transparent;box-shadow:0 16px 35px -20px #2563eb99}.theme-toggle{display:inline-flex;align-items:center;justify-content:center;padding:.55rem 1.1rem;border-radius:.9rem;border:1px solid transparent;background:var(--gradient-button);color:var(--color-button-text);font-weight:600;min-width:9.5rem;box-shadow:0 16px 30px -18px #2563eb99}.theme-toggle:hover{background:var(--gradient-button-hover);transform:translateY(-1px)}.theme-toggle:focus-visible{outline:none;box-shadow:0 0 0 3px #3b82f673}@media (min-width: 768px){.app__header{padding:1.5rem 1.75rem;border-radius:1.75rem}.brand-mark{width:56px;height:56px}}@media (min-width: 1024px){.app__header{gap:1.5rem}.menu-toggle{display:none}.app__nav{position:static;transform:none;width:auto;padding:0;background:transparent;border:none;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;pointer-events:auto}.nav-inner{flex-direction:row;align-items:center;gap:1.75rem}.nav-section{flex-direction:column;gap:.5rem}.nav-label{display:none}.nav-footer{margin-top:0}.view-tabs button,.mode-selector button{min-width:auto}}.layout{display:grid;grid-template-columns:1fr;gap:1.25rem;width:100%}@media (min-width: 640px){.layout{gap:1.5rem}}@media (min-width: 768px){.layout{gap:1.75rem}}@media (min-width: 1024px){.layout{grid-template-columns:repeat(2,minmax(0,1fr));gap:2rem}}@media (min-width: 1280px){.layout{gap:2.25rem}}.layout--single{grid-template-columns:1fr}.howto-panel{gap:1.5rem}.howto-panel h2{margin:0}.howto-section{display:flex;flex-direction:column;gap:.5rem}.howto-section h3{margin:0}.howto-section ul{margin:0;padding-left:1.25rem;color:var(--color-muted);font-size:.9rem;display:grid;gap:.3rem}.panel{background:var(--color-card-surface);border-radius:1.5rem;padding:1.5rem;display:flex;flex-direction:column;gap:1.25rem;border:1px solid var(--color-card-border);box-shadow:var(--color-panel-shadow);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px)}@media (min-width: 768px){.panel{padding:1.75rem}}@media (min-width: 1280px){.panel{padding:2rem}}.panel__header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}.panel__header h2{margin:0}.panel__actions{display:flex;gap:1rem;flex-wrap:wrap;align-items:center}.panel__actions label{display:flex;flex-direction:column;font-size:.85rem;color:var(--color-muted)}.panel__actions input[type=number]{margin-top:.25rem}.panel__actions button{background:var(--gradient-button);color:var(--color-button-text);border:none;padding:.65rem 1.35rem;border-radius:.95rem;font-weight:600;box-shadow:0 18px 40px -25px #2563eb99}.panel__actions button:hover{background:var(--gradient-button-hover);transform:translateY(-1px)}.panel__actions button[disabled]{opacity:.6;cursor:not-allowed;box-shadow:none;transform:none}.schema-input{width:100%;border-radius:1rem;border:1px solid transparent;padding:1.1rem 1.25rem;background:var(--color-field-bg-muted);color:var(--color-text);resize:vertical;min-height:420px;box-shadow:inset 0 1px #ffffff14}.definition-tabs{display:flex;gap:.5rem;margin:.5rem 0 1rem}.definition-tabs button{padding:.5rem 1.05rem;border-radius:.85rem;border:1px solid transparent;background:var(--color-field-bg);color:var(--color-strong);font-weight:600}.definition-tabs button.active{background:var(--gradient-button);color:var(--color-button-text);box-shadow:0 12px 28px -18px #2563eb8c}.definition-tabs button:hover{background:var(--color-field-bg-muted);transform:translateY(-1px)}.examples-list{display:grid;gap:1.25rem;min-width:0}.example-card{background:var(--color-card-surface);border:1px solid var(--color-card-border);border-radius:1.1rem;padding:1.25rem;display:flex;flex-direction:column;gap:.85rem;box-shadow:0 22px 44px -30px #0f172a8c;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);min-width:0}.example-card header{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem}.example-card header h3{margin:0 0 .25rem}.example-card header p{margin:0;color:var(--color-muted);font-size:.9rem}.example-card header button{align-self:flex-start;border:none;background:var(--gradient-button);color:var(--color-button-text);border-radius:.75rem;padding:.45rem .95rem;font-weight:600;box-shadow:0 14px 28px -20px #2563eb8c}.example-card header button:hover{background:var(--gradient-button-hover);transform:translateY(-1px)}.code-block{margin:0;background:var(--color-code-bg);color:var(--color-code-text);border-radius:.75rem;padding:.75rem;overflow:auto;font-size:.85rem;line-height:1.5;white-space:pre;font-family:Fira Code,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.code-block--text{background:var(--color-field-bg-muted);color:var(--color-strong);border:1px dashed var(--color-border)}.edge-slider{display:flex;align-items:center;gap:.5rem;font-size:.85rem;color:var(--color-muted);flex-wrap:wrap}.edge-slider input[type=range]{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:180px;height:6px;border-radius:999px;background:linear-gradient(90deg,var(--color-accent) 0%,var(--color-accent-strong) 100%);box-shadow:inset 0 1px 2px #0f172a33}.edge-slider input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:18px;height:18px;border-radius:50%;background:#fff;border:2px solid var(--color-accent);box-shadow:0 6px 16px -8px #0f172a73}.edge-slider input[type=range]::-moz-range-thumb{width:18px;height:18px;border-radius:50%;background:#fff;border:2px solid var(--color-accent);box-shadow:0 6px 16px -8px #0f172a73}.edge-slider input[type=number]{width:88px;padding:.35rem .6rem;border-radius:.75rem;border:1px solid transparent;background:var(--color-field-bg);box-shadow:inset 0 1px #ffffff0f}.edge-slider__value{font-weight:700;color:var(--color-strong)}.edge-info{margin-bottom:1rem;border:1px solid var(--color-card-border);border-radius:1rem;padding:1rem 1.2rem;background:var(--color-surface-muted);box-shadow:0 18px 38px -26px #0f172a73;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}.edge-info summary{font-weight:600;cursor:pointer}.edge-info p{margin:.5rem 0;font-size:.85rem;color:var(--color-muted)}.edge-info ul{margin:0 0 .5rem 1rem;padding:0;color:var(--color-muted);font-size:.85rem}.edge-info li{margin-bottom:.3rem}.schema-helper{margin-top:1rem;display:flex;flex-direction:column;gap:.75rem;padding:1.2rem;border-radius:1rem;background:var(--color-schema-helper-bg);border:1px solid var(--color-schema-helper-border);color:var(--color-schema-helper-text);box-shadow:0 18px 36px -24px #0f172a73;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}.schema-helper h3{margin:0 0 .25rem;font-size:1rem}.schema-helper p{margin:0;font-size:.85rem}.schema-helper__input{border:1px solid var(--color-schema-helper-input-border);border-radius:.9rem;padding:.85rem;background:#0f172a14;color:var(--color-text);resize:vertical;font-family:Fira Code,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.schema-helper__actions{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center}.schema-helper__actions button{background:var(--gradient-button);color:var(--color-button-text);border:none;padding:.55rem 1.2rem;border-radius:.85rem;font-weight:600;box-shadow:0 14px 28px -20px #2563eb8c}.schema-helper__actions button:hover:not([disabled]){background:var(--gradient-button-hover);transform:translateY(-1px)}.schema-helper__actions button[disabled]{opacity:.6;cursor:not-allowed;transform:none}.schema-helper__status{font-size:.85rem;font-weight:600}.schema-helper__status--success{color:var(--color-success)}.schema-helper__status--error{color:var(--color-danger)}.manual-editor{display:flex;flex-direction:column;gap:1rem}.manual-field{border:1px solid var(--color-card-border);border-radius:1rem;padding:1.1rem;background:var(--color-card-surface);display:flex;flex-direction:column;gap:.75rem;box-shadow:0 18px 36px -26px #0f172a73;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}.manual-field__header{display:flex;justify-content:space-between;align-items:center}.manual-field__header button{background:none;border:none;color:var(--color-danger-strong);font-weight:600}.manual-field__header button:hover{color:var(--color-danger)}.manual-field__grid{display:grid;gap:.75rem;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.manual-field__grid label{display:flex;flex-direction:column;font-size:.85rem;color:var(--color-muted)}.manual-field__grid input,.manual-field__grid select{margin-top:.3rem;padding:.4rem .6rem;border-radius:.5rem;border:1px solid var(--color-field-border);background:var(--color-field-bg);color:var(--color-text)}.manual-field__checkbox{display:flex;align-items:center;gap:.5rem;font-weight:600}.add-field{align-self:flex-start;background:var(--gradient-button);color:var(--color-button-text);border:none;padding:.55rem 1.2rem;border-radius:.9rem;font-weight:600;box-shadow:0 16px 30px -20px #2563eb8c}.add-field:hover{background:var(--gradient-button-hover);transform:translateY(-1px)}.manual-preview{background:var(--color-code-bg);color:var(--color-code-text);border-radius:1rem;padding:1.1rem;overflow:auto;max-height:240px;box-shadow:inset 0 1px #ffffff0d}.manual-preview pre{margin:0;font-size:.8rem}.table-wrapper{max-height:320px;overflow:auto;border-radius:1rem;border:1px solid var(--color-table-border);background:var(--color-table-surface);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:inset 0 1px #ffffff0a}table{width:100%;border-collapse:collapse;font-size:.9rem}th,td{padding:.85rem;border-bottom:1px solid var(--color-table-border);text-align:left}th{background:var(--color-table-header);position:sticky;top:0;z-index:1}.json-preview{background:var(--color-code-bg);color:var(--color-code-text);padding:1.1rem;border-radius:1rem;overflow:auto;max-height:300px;font-size:.85rem;box-shadow:inset 0 1px #ffffff0d}.error-box,.warning-box{border-radius:1rem;padding:1rem 1.25rem;border:1px solid transparent;box-shadow:0 16px 32px -26px #0f172a66;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.error-box{background:var(--color-error-bg);color:var(--color-error-text);border-color:#ef444459}.warning-box{background:var(--color-warning-bg);color:var(--color-warning-text);border-color:#facc1559}.empty{color:var(--color-empty);margin:2rem 0;text-align:center}details summary{cursor:pointer}
