/*! tailwindcss v4.3.0 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--radius-sm:.25rem;--radius-lg:.5rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;-moz-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;-moz-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.absolute{position:absolute}.relative{position:relative}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.border{border-style:var(--tw-border-style);border-width:1px}.uppercase{text-transform:uppercase}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}}:root{--bg-0:#f8fafc;--bg-1:#fff;--bg-2:#fff;--bg-3:#f1f5f9;--bg-4:#e2e8f0;--line:#0f172a17;--line-strong:#0f172a29;--ink-hi:#0f172a;--ink:#334155;--ink-mid:#64748b;--ink-dim:#94a3b8;--y:#f59e0b;--y-soft:#f59e0b1f;--y-line:#f59e0b6b;--y-deep:#b45309;--y-tint:#fffbeb;--sky:#0284c7;--sky-soft:#0284c71a;--allow:#16a34a;--allow-soft:#16a34a1a;--deny:#dc2626;--deny-soft:#dc262617;--audit:#0284c7;--audit-soft:#0284c71a;--warn:#ea8a0b;--warn-soft:#ea8a0b1f;--code-bg:#0f172a;--radius:9px;--radius-sm:6px;--radius-lg:14px;--shadow-pop:0 16px 48px -12px #0f172a47, 0 4px 12px #0f172a1a;--shadow-card:0 1px 2px #0f172a0a;--sans:"IBM Plex Sans", system-ui, -apple-system, sans-serif;--mono:"IBM Plex Mono", ui-monospace, "SF Mono", Menlo, monospace;--rail-w:264px;--helper-w:384px;--bar-h:48px;--status-h:30px}:root[data-theme=dark]{--bg-0:#0d1117;--bg-1:#161b22;--bg-2:#1c2128;--bg-3:#21262d;--bg-4:#2d333b;--line:#ffffff14;--line-strong:#ffffff24;--ink-hi:#e6edf3;--ink:#adbac7;--ink-mid:#768390;--ink-dim:#545d68;--y:#f59e0b;--y-soft:#f59e0b26;--y-line:#f59e0b59;--y-deep:#fbbf24;--y-tint:#f59e0b14;--sky:#58a6ff;--sky-soft:#58a6ff1f;--allow:#3fb950;--allow-soft:#3fb9501f;--deny:#f85149;--deny-soft:#f851491f;--audit:#58a6ff;--audit-soft:#58a6ff1f;--warn:#d29922;--warn-soft:#d2992224;--code-bg:#010409;--shadow-pop:0 16px 48px -12px #0009, 0 4px 12px #0000004d;--shadow-card:0 1px 3px #0000004d}*{box-sizing:border-box}html,body{height:100%;margin:0}body{background:var(--bg-0);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;font-size:14px;line-height:1.45;overflow:hidden}#root{height:100vh}::selection{background:var(--y-soft);color:var(--ink-hi)}::-webkit-scrollbar{width:9px;height:9px}::-webkit-scrollbar-thumb{background:#cbd5e1 padding-box padding-box;border:2px solid #0000;border-radius:8px}::-webkit-scrollbar-thumb:hover{background:#94a3b8 padding-box padding-box;border:2px solid #0000}::-webkit-scrollbar-track{background:0 0}button{cursor:pointer;font-family:inherit}input,textarea,select{font-family:inherit}.app{grid-template-rows:var(--bar-h) 1fr var(--status-h);height:100vh;display:grid}.app-body{grid-template-columns:var(--rail-w) 1fr;min-height:0;display:grid}.titlebar{background:var(--bg-1);border-bottom:1px solid var(--line);z-index:30;align-items:center;gap:14px;padding:0 14px 0 16px;display:flex;position:relative}.brand{border-right:1px solid var(--line);align-items:center;gap:11px;height:26px;padding-right:14px;display:flex}.brand--clickable{cursor:pointer}.brand-mark{background:var(--y);color:#fff;border-radius:7px;flex:none;place-items:center;width:26px;height:26px;font-weight:700;display:grid;box-shadow:0 1px 2px #f59e0b66}.brand-mark svg{width:15px;height:15px;display:block}.brand-name{color:var(--ink-hi);letter-spacing:.1px;white-space:nowrap;font-size:13px;font-weight:700}.brand-name b{color:var(--y-deep);font-weight:700}.brand-sub{color:var(--ink-mid);margin-top:1px;font-size:11px}.doc-name{align-items:center;gap:9px;min-width:0;display:flex}.doc-name .doc-icn{color:var(--ink-dim)}.doc-title{color:var(--ink-hi);white-space:nowrap;text-overflow:ellipsis;max-width:380px;font-size:13.5px;font-weight:600;overflow:hidden}.doc-dirty{color:var(--y);font-size:18px;line-height:0}.bar-spacer{flex:1}.bar-tools{align-items:center;gap:7px;display:flex}.btn{border-radius:var(--radius-sm);border:1px solid var(--line-strong);background:var(--bg-1);height:32px;color:var(--ink-hi);white-space:nowrap;align-items:center;gap:7px;padding:0 12px;font-size:13px;font-weight:500;transition:background .13s,border-color .13s,transform 80ms,box-shadow .13s;display:inline-flex}.btn:hover{background:var(--bg-3);border-color:var(--line-strong)}.btn:active{transform:translateY(1px)}.btn svg{opacity:.75;width:15px;height:15px}.btn.ghost{color:var(--ink-mid);background:0 0;border-color:#0000}.btn.ghost:hover{background:var(--bg-3);color:var(--ink-hi)}.btn.primary{background:var(--y);border-color:var(--y);color:#fff;font-weight:600;box-shadow:0 1px 2px #f59e0b59}.btn.primary:hover{background:#ea8a0b;border-color:#ea8a0b}.btn.primary svg{opacity:1}.btn.sm{border-radius:6px;height:28px;padding:0 10px;font-size:12.5px}.btn.icon{justify-content:center;width:32px;padding:0}.btn.icon.sm{width:28px}.btn.danger{color:var(--deny)}.btn.danger:hover{color:var(--deny);background:var(--deny-soft);border-color:#dc262666}.btn:disabled{opacity:.4;cursor:not-allowed}.rail{background:var(--bg-1);border-right:1px solid var(--line);flex-direction:column;min-height:0;display:flex}.rail-section{padding:12px 10px 6px}.rail-head{letter-spacing:.8px;text-transform:uppercase;color:var(--ink-dim);justify-content:space-between;align-items:center;padding:0 8px 7px;font-size:10.5px;font-weight:700;display:flex}.rail-head .count{color:var(--ink-dim);font-family:var(--mono)}.nav{flex-direction:column;gap:2px;padding:10px 8px;display:flex}.nav-item{border-radius:var(--radius-sm);color:var(--ink);text-align:left;background:0 0;border:1px solid #0000;align-items:center;gap:10px;width:100%;padding:8px 10px;font-size:13.5px;font-weight:500;display:flex}.nav-item:hover{background:var(--bg-3);color:var(--ink-hi)}.nav-item.active{background:var(--y-tint);color:var(--y-deep);border-color:#f59e0b38;font-weight:600}.nav-item.active .nav-icn{color:var(--y)}.nav-icn{width:17px;height:17px;color:var(--ink-mid);flex:none}.nav-badge{font-family:var(--mono);color:var(--ink-mid);background:var(--bg-3);border-radius:20px;margin-left:auto;padding:1px 8px;font-size:11px}.nav-item.active .nav-badge{color:var(--y-deep);background:#f59e0b29}.nav-badge.err{color:var(--deny);background:var(--deny-soft)}.nav-badge.warnb{color:var(--y-deep);background:var(--warn-soft)}.rail-divider{background:var(--line);height:1px;margin:4px 12px}.tree{flex:1;min-height:0;padding:2px 8px 10px;overflow-y:auto}.tree-node{cursor:pointer;color:var(--ink);border:1px solid #0000;border-radius:5px;align-items:center;gap:8px;padding:6px 8px;font-size:13px;display:flex}.tree-node:hover{background:var(--bg-3)}.tree-node.active{background:var(--y-tint);border-color:var(--y-line);color:var(--y-deep)}.tree-node .dot{border-radius:2px;flex:none;width:7px;height:7px}.tree-node .t-name{white-space:nowrap;text-overflow:ellipsis;flex:1;overflow:hidden}.tree-node .t-meta{font-family:var(--mono);color:var(--ink-dim);font-size:10.5px}.tree-sub{padding-left:14px}.rail-foot{border-top:1px solid var(--line);padding:10px}.main{background:var(--bg-0);min-height:0;display:flex}.editor-col{flex-direction:column;flex:1;min-width:0;display:flex}.helper-col{width:var(--helper-w);border-left:1px solid var(--line);background:var(--bg-1);flex-direction:column;flex:none;min-height:0;display:flex}.content-head{border-bottom:1px solid var(--line);background:var(--bg-1);align-items:center;gap:12px;padding:14px 22px;display:flex}.content-head .ch-title{color:var(--ink-hi);font-size:17px;font-weight:700}.content-head .ch-sub{color:var(--ink-mid);font-size:12.5px}.content-head .ch-actions{align-items:center;gap:7px;margin-left:auto;display:flex}.scroll-area{flex:1;min-height:0;overflow-y:auto}.pad{padding:20px 22px}.card{background:var(--bg-1);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-card)}.card.sel{border-color:var(--y-line);box-shadow:0 0 0 1px var(--y-line),var(--shadow-card)}.entity{margin-bottom:12px;overflow:hidden}.entity-head{cursor:pointer;align-items:center;gap:12px;padding:13px 15px;display:flex}.entity-head:hover{background:var(--bg-3)}.entity-glyph{background:var(--bg-3);width:30px;height:30px;color:var(--ink-mid);border-radius:7px;flex:none;place-items:center;display:grid}.entity-glyph svg{width:16px;height:16px}.entity-title{color:var(--ink-hi);font-size:14.5px;font-weight:600}.entity-meta{color:var(--ink-mid);flex-wrap:wrap;align-items:center;gap:8px;margin-top:2px;font-size:12px;display:flex}.entity-id{font-family:var(--mono);color:var(--ink-dim);font-size:11px}.entity-body{border-top:1px solid var(--line);padding:4px 15px 15px}.summary-line{color:var(--ink);background:var(--y-tint);border:1px solid #f59e0b33;border-left:2px solid var(--y);border-radius:6px;margin:12px 0;padding:9px 12px;font-size:12.5px}.summary-line b{color:var(--ink-hi);font-weight:600}.pill{letter-spacing:.2px;border:1px solid var(--line-strong);height:22px;color:var(--ink);background:var(--bg-3);border-radius:20px;align-items:center;gap:6px;padding:0 9px;font-size:11px;font-weight:600;display:inline-flex}.pill .pdot{border-radius:50%;width:7px;height:7px}.pill.allow{color:#15803d;background:var(--allow-soft);border-color:#16a34a4d}.pill.deny{color:#b91c1c;background:var(--deny-soft);border-color:#dc26264d}.pill.audit{color:#0369a1;background:var(--audit-soft);border-color:#0284c74d}.pill.mono{font-family:var(--mono);font-weight:500}.chip{background:var(--bg-3);border:1px solid var(--line);color:var(--ink);font-size:12px;font-family:var(--mono);border-radius:6px;align-items:center;gap:6px;padding:4px 10px;display:inline-flex}.chip .x{color:var(--ink-dim);cursor:pointer;font-size:14px;line-height:1}.chip .x:hover{color:var(--deny)}.chip.add{color:var(--ink-mid);cursor:pointer;background:0 0;border-style:dashed}.chip.add:hover{color:var(--y-deep);border-color:var(--y-line);background:var(--y-tint)}.tag-row{flex-wrap:wrap;align-items:center;gap:7px;display:flex}.field{margin-bottom:16px}.field-label{letter-spacing:.4px;color:var(--ink-mid);text-transform:uppercase;margin-bottom:7px;font-size:11px;font-weight:700;display:block}.field-hint{color:var(--ink-dim);margin-top:6px;font-size:11.5px}.input,.select,.textarea{background:var(--bg-0);border:1px solid var(--line-strong);border-radius:var(--radius-sm);width:100%;height:36px;color:var(--ink-hi);outline:none;padding:0 11px;font-size:13px;transition:border-color .12s,box-shadow .12s,background .12s}.input:focus,.select:focus,.textarea:focus{border-color:var(--y);box-shadow:0 0 0 3px var(--y-soft);background:var(--bg-1)}.input.mono{font-family:var(--mono)}.input.invalid{border-color:var(--deny);box-shadow:0 0 0 3px var(--deny-soft)}.textarea{resize:vertical;height:auto;min-height:64px;padding:9px 11px;line-height:1.5}.select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2.5'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-position:right 11px center;background-repeat:no-repeat;padding-right:30px}.seg{background:var(--bg-3);border:1px solid var(--line);border-radius:var(--radius-sm);gap:3px;padding:3px;display:inline-flex}.seg button{color:var(--ink-mid);background:0 0;border:none;border-radius:5px;align-items:center;gap:6px;padding:5px 12px;font-size:12.5px;font-weight:600;transition:background .12s,color .12s;display:inline-flex}.seg button:hover{color:var(--ink-hi)}.seg button.on{background:var(--bg-1);color:var(--ink-hi);box-shadow:var(--shadow-card)}.seg button.on.allow{background:var(--allow-soft);color:#15803d;box-shadow:none}.seg button.on.deny{background:var(--deny-soft);color:#b91c1c;box-shadow:none}.seg button.on.audit{background:var(--audit-soft);color:#0369a1;box-shadow:none}.switch{cursor:pointer;flex:none;width:38px;height:22px;position:relative}.switch input{opacity:0;cursor:pointer;position:absolute;top:0;right:0;bottom:0;left:0}.switch .track{background:var(--bg-4);border-radius:20px;transition:background .15s;position:absolute;top:0;right:0;bottom:0;left:0}.switch .knob{background:#fff;border-radius:50%;width:16px;height:16px;transition:transform .16s;position:absolute;top:3px;left:3px;box-shadow:0 1px 2px #0f172a40}.switch input:checked+.track{background:var(--y)}.switch input:checked+.track+.knob{background:#fff;transform:translate(16px)}.check{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--bg-0);cursor:pointer;color:var(--ink);align-items:center;gap:9px;padding:9px 11px;font-size:13px;transition:border-color .12s,background .12s;display:flex}.check:hover{border-color:var(--line-strong)}.check.on{border-color:var(--y-line);background:var(--y-tint);color:var(--y-deep)}.check .box{border:1.5px solid var(--ink-dim);background:var(--bg-1);border-radius:4px;flex:none;place-items:center;width:17px;height:17px;display:grid}.check.on .box{background:var(--y);border-color:var(--y)}.check.on .box svg{color:#fff;width:12px;height:12px}.check .box svg{display:none}.check.on .box svg{display:block}.check-grid{grid-template-columns:1fr 1fr;gap:8px;display:grid}.qb{font-family:var(--mono);font-size:12.5px}.qb-node{border-radius:var(--radius-sm)}.qb-group{border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--bg-0);margin:5px 0}.qb-group.depth1{background:#f1f5f9}.qb-group.depth2{background:#e9eef4}.qb-group.not{background:#dc26260b;border-color:#dc26264d}.qb-grouphead{border-bottom:1px solid var(--line);align-items:center;gap:8px;padding:7px 9px;display:flex}.qb-op{border:1px solid var(--line-strong);border-radius:5px;display:inline-flex;overflow:hidden}.qb-op button{background:var(--bg-1);color:var(--ink-mid);font-family:var(--mono);border:none;padding:3px 9px;font-size:11.5px;font-weight:700}.qb-op button.on{background:var(--y);color:#fff}.qb-op button:not(.on):hover{background:var(--bg-3);color:var(--ink-hi)}.qb-not-badge{font-family:var(--mono);color:var(--deny);letter-spacing:.5px;background:var(--deny-soft);border:1px solid #dc262659;border-radius:5px;padding:2px 7px;font-size:11.5px;font-weight:700}.qb-children{flex-direction:column;gap:5px;padding:6px 9px 9px;display:flex}.qb-clause{background:var(--bg-1);border:1px solid var(--line);border-radius:5px;align-items:center;gap:8px;padding:6px 8px;display:flex}.qb-clause:hover{border-color:var(--line-strong)}.qb-clause .ckey{color:var(--y-deep);white-space:nowrap}.qb-clause .csel{background:var(--bg-1);border:1px solid var(--line-strong);color:var(--ink-hi);height:26px;font-family:var(--mono);border-radius:4px;max-width:150px;padding:0 6px;font-size:11.5px}.qb-clause .cval{background:var(--bg-1);border:1px solid var(--line-strong);color:var(--ink-hi);height:26px;font-family:var(--mono);border-radius:4px;outline:none;flex:1;min-width:80px;padding:0 8px;font-size:11.5px}.qb-clause .cval:focus{border-color:var(--y);box-shadow:0 0 0 3px var(--y-soft)}.qb-spacer{flex:1}.qb-x{color:var(--ink-dim);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:2px 5px;line-height:1}.qb-x:hover{color:var(--deny);background:var(--deny-soft)}.qb-add{flex-wrap:wrap;gap:6px;padding-top:2px;display:flex}.qb-addbtn{font-family:var(--mono);color:var(--ink-mid);border:1px dashed var(--line-strong);background:0 0;border-radius:5px;align-items:center;gap:5px;padding:4px 9px;font-size:11px;display:inline-flex}.qb-addbtn:hover{color:var(--y-deep);border-color:var(--y-line);background:var(--y-tint)}.qb-conn{font-family:var(--mono);color:var(--ink-dim);text-transform:uppercase;letter-spacing:1px;padding:0 4px;font-size:10px}.json-wrap{background:var(--bg-0);flex-direction:column;flex:1;min-height:0;display:flex}.json-toolbar{border-bottom:1px solid var(--line);background:var(--bg-1);align-items:center;gap:10px;padding:8px 16px;display:flex}.json-toolbar .seg{margin-left:auto}.code-scroll{background:var(--bg-0);flex:1;min-height:0;position:relative;overflow:auto}.code-host{min-height:100%;font-family:var(--mono);font-size:12.5px;line-height:1.65;position:relative}.code-host pre,.code-host textarea{font-family:var(--mono);white-space:pre;-moz-tab-size:2;tab-size:2;margin:0;padding:14px 16px 14px 0;font-size:12.5px;line-height:1.65}.code-pre{pointer-events:none;color:var(--ink);position:relative}.code-ta{color:#0000;caret-color:var(--y-deep);resize:none;-webkit-text-fill-color:transparent;background:0 0;border:none;outline:none;position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden}.gutter{text-align:right;width:46px;color:var(--ink-dim);-webkit-user-select:none;user-select:none;font-family:var(--mono);white-space:pre;border-right:1px solid var(--line);background:#f1f5f9;margin:0;padding:14px 0;font-size:12.5px;line-height:1.65;position:absolute;top:0;left:0}.gutter .gl{display:inline}.gutter .gl.err{color:var(--deny);font-weight:600}.code-pad{padding-left:60px}.tk-key{color:#b45309}.tk-str{color:#15803d}.tk-num{color:#0369a1}.tk-bool{color:#0284c7}.tk-null,.tk-punc{color:var(--ink-mid)}.json-status{border-top:1px solid var(--line);font-family:var(--mono);background:var(--bg-1);align-items:center;gap:9px;padding:7px 16px;font-size:12px;display:flex}.json-status.ok{color:var(--allow)}.json-status.bad{color:var(--deny)}.helper-head{border-bottom:1px solid var(--line);align-items:center;gap:10px;padding:14px 16px;display:flex}.helper-head .hh-icn{background:var(--y-soft);width:30px;height:30px;color:var(--y-deep);border-radius:7px;flex:none;place-items:center;display:grid}.helper-head .hh-icn svg{width:16px;height:16px}.helper-title{color:var(--ink-hi);font-size:14px;font-weight:600}.helper-sub{color:var(--ink-mid);font-size:11.5px}.helper-body{flex:1;min-height:0;padding:16px;overflow-y:auto}.helper-empty{text-align:center;height:100%;color:var(--ink-dim);flex-direction:column;justify-content:center;align-items:center;gap:14px;padding:40px 28px;display:flex}.helper-empty svg{opacity:.4;width:38px;height:38px}.subhead{letter-spacing:.9px;text-transform:uppercase;color:var(--ink-dim);align-items:center;gap:8px;margin:22px 0 11px;font-size:10.5px;font-weight:700;display:flex}.subhead:first-child{margin-top:0}.subhead:after{content:"";background:var(--line);flex:1;height:1px}.statusbar{background:var(--bg-1);border-top:1px solid var(--line);color:var(--ink-mid);align-items:center;gap:0;padding:0 4px;font-size:12px;display:flex}.status-item{height:var(--status-h);align-items:center;gap:7px;padding:0 12px;display:flex}.status-item.btnlike{cursor:pointer}.status-item.btnlike:hover{background:var(--bg-3);color:var(--ink-hi)}.status-item svg{width:13px;height:13px}.status-item.err{color:var(--deny)}.status-item.warnc{color:var(--y-deep)}.status-item.ok{color:var(--allow)}.status-dot{border-radius:50%;width:8px;height:8px}.status-spacer{flex:1}.status-item.mono{font-family:var(--mono)}.val-list{flex-direction:column;gap:8px;display:flex}.val-item{border-radius:var(--radius-sm);background:var(--bg-1);border:1px solid var(--line);cursor:pointer;box-shadow:var(--shadow-card);gap:11px;padding:11px 13px;display:flex}.val-item:hover{border-color:var(--line-strong);background:var(--bg-3)}.val-item.error{border-left:2px solid var(--deny)}.val-item.warning{border-left:2px solid var(--warn)}.val-item .vicn{flex:none;width:18px;height:18px;margin-top:1px}.val-item.error .vicn{color:var(--deny)}.val-item.warning .vicn{color:var(--warn)}.val-msg{color:var(--ink-hi);font-size:13px}.val-where{color:var(--ink-mid);font-size:11.5px;font-family:var(--mono);margin-top:3px}.val-clean{text-align:center;color:var(--ink-mid);flex-direction:column;align-items:center;gap:14px;padding:60px 30px;display:flex}.val-clean .big{background:var(--allow-soft);width:52px;height:52px;color:var(--allow);border-radius:50%;place-items:center;display:grid}.val-clean .big svg{width:28px;height:28px}.inline-flag{border-radius:5px;align-items:center;gap:5px;padding:2px 8px;font-size:11.5px;font-weight:600;display:inline-flex}.inline-flag.error{color:#b91c1c;background:var(--deny-soft)}.inline-flag.warning{color:var(--y-deep);background:var(--warn-soft)}.inline-flag svg{width:12px;height:12px}.overlay{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:100;background:#0f172a52;place-items:center;padding:30px;display:grid;position:fixed;top:0;right:0;bottom:0;left:0}.modal{background:var(--bg-1);border:1px solid var(--line);border-radius:var(--radius-lg);width:100%;max-width:620px;box-shadow:var(--shadow-pop);flex-direction:column;max-height:86vh;display:flex;overflow:hidden}.modal.wide{max-width:860px}.modal-head{border-bottom:1px solid var(--line);align-items:center;gap:12px;padding:18px 20px;display:flex}.modal-head .mh-title{color:var(--ink-hi);font-size:16px;font-weight:700}.modal-head .mh-sub{color:var(--ink-mid);font-size:12.5px}.modal-body{padding:20px;overflow-y:auto}.modal-foot{border-top:1px solid var(--line);background:var(--bg-0);align-items:center;gap:10px;padding:15px 20px;display:flex}.modal-foot .spacer{flex:1}.x-btn{color:var(--ink-mid);background:0 0;border:none;border-radius:6px;place-items:center;width:30px;height:30px;margin-left:auto;display:grid}.x-btn:hover{background:var(--bg-3);color:var(--ink-hi)}.dropzone{border:1.5px dashed var(--line-strong);border-radius:var(--radius);text-align:center;color:var(--ink-mid);cursor:pointer;padding:36px 20px;transition:border-color .15s,background .15s}.dropzone:hover,.dropzone.drag{border-color:var(--y-line);background:var(--y-tint);color:var(--y-deep)}.dropzone svg{opacity:.5;width:36px;height:36px;margin-bottom:10px}.code-block{font-family:var(--mono);background:var(--code-bg);border:1px solid var(--code-bg);border-radius:var(--radius-sm);color:#cbd5e1;white-space:pre-wrap;word-break:break-all;max-height:280px;padding:13px 15px;font-size:11.5px;line-height:1.6;overflow:auto}.kv{grid-template-columns:150px 1fr;align-items:center;gap:4px 14px;font-size:12.5px;display:grid}.kv .k{color:var(--ink-mid)}.kv .v{color:var(--ink-hi);font-family:var(--mono);word-break:break-all;font-size:12px}.welcome{background:var(--bg-0);place-items:center;height:100%;padding:30px;display:grid}.welcome-inner{text-align:center;width:100%;max-width:620px}.welcome-mark{background:var(--y);color:#fff;border-radius:15px;place-items:center;width:60px;height:60px;margin:0 auto 22px;display:grid;box-shadow:0 10px 26px -8px #f59e0b8c}.welcome-mark svg{width:32px;height:32px}.welcome h1{color:var(--ink-hi);letter-spacing:-.3px;margin:0 0 8px;font-size:26px;font-weight:700}.welcome p{color:var(--ink-mid);max-width:460px;margin:0 auto 28px;font-size:14.5px;line-height:1.55}.welcome-actions{grid-template-columns:1fr 1fr;gap:12px;max-width:480px;margin:0 auto;display:grid}.wcard{text-align:left;border-radius:var(--radius);border:1px solid var(--line);background:var(--bg-1);cursor:pointer;box-shadow:var(--shadow-card);padding:18px;transition:border-color .14s,transform .1s,box-shadow .14s}.wcard:hover{border-color:var(--y-line);box-shadow:var(--shadow-pop);transform:translateY(-2px)}.wcard .wc-icn{background:var(--y-tint);width:34px;height:34px;color:var(--y-deep);border-radius:8px;place-items:center;margin-bottom:12px;display:grid}.wcard .wc-icn svg{width:18px;height:18px}.wcard h3{color:var(--ink-hi);margin:0 0 4px;font-size:14.5px;font-weight:600}.wcard p{color:var(--ink-mid);max-width:none;margin:0;font-size:12.5px}.verdict{border-radius:var(--radius);border:1px solid var(--line-strong);margin-top:14px;padding:16px}.verdict.allow{background:var(--allow-soft);border-color:#16a34a59}.verdict.deny{background:var(--deny-soft);border-color:#dc262659}.verdict-head{align-items:center;gap:10px;font-size:16px;font-weight:700;display:flex}.verdict.allow .verdict-head{color:#15803d}.verdict.deny .verdict-head{color:#b91c1c}.verdict-trace{font-family:var(--mono);color:var(--ink);flex-direction:column;gap:5px;margin-top:12px;font-size:11.5px;display:flex}.trace-row{border-top:1px dashed var(--line-strong);gap:8px;padding:5px 0;display:flex}.trace-row .ti{color:var(--ink-mid);min-width:110px}.toast-wrap{bottom:calc(var(--status-h) + 16px);z-index:200;flex-direction:column;gap:8px;display:flex;position:fixed;right:18px}.toast{background:var(--bg-1);border:1px solid var(--line);border-radius:var(--radius-sm);color:var(--ink-hi);box-shadow:var(--shadow-pop);align-items:center;gap:10px;padding:11px 14px;font-size:13px;animation:.2s toastin;display:flex}.toast.ok{border-left:3px solid var(--allow)}.toast.err{border-left:3px solid var(--deny)}.toast svg{width:16px;height:16px}@keyframes toastin{0%{opacity:0;transform:translateY(8px)}}.muted{color:var(--ink-mid)}.hidden{display:none!important}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}
