:root{color-scheme:light dark;--frame: #0f4b69;--frame-deep: #0b384f;--frame-text: #ffffff;--frame-muted: rgba(255, 255, 255, .72);--frame-rule: rgba(255, 255, 255, .28);--bg: #ffffff;--surface: #ffffff;--surface-2: #f4f6f9;--border: #cfd6df;--text: #152336;--text-dim: #4f5b6b;--link: #3056a9;--link-hover: #386fc4;--accent: #0f4b69;--accent-text: #ffffff;--accent-soft: #bce7d3;--violation: #821717;--violation-edge: #e05252;--violation-bg: #fbe9e9;--warning: #574b0f;--warning-edge: #e0cb52;--warning-bg: #fcfaee;--info: #152336;--info-edge: #7fa3c7;--info-bg: #eaf1f8;--ok: #178217;--ok-edge: #52b052;--ok-bg: #e9fbe9;--syn-key: #0f4b69;--syn-keyword: #7a3e9d;--syn-string: #1d6b3a;--syn-number: #a14a00;--syn-literal: #3056a9;--syn-punct: #6b7684;--selection: rgba(48, 86, 169, .22);--radius: 4px;--sans: "Helvetica Neue", Arial, sans-serif;--mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--frame: #0b384f;--frame-deep: #082a3b;--bg: #0e1a24;--surface: #132330;--surface-2: #182b3a;--border: #2a4152;--text: #e8eef4;--text-dim: #9fb0c0;--link: #8fb4f0;--link-hover: #b3cdf6;--accent: #bce7d3;--accent-text: #0a121c;--violation: #ffa3a3;--violation-edge: #e05252;--violation-bg: #2c1618;--warning: #f0d77a;--warning-edge: #e0cb52;--warning-bg: #2a2512;--info: #c9daea;--info-edge: #5f86ad;--info-bg: #142636;--ok: #8fe08f;--ok-edge: #52b052;--ok-bg: #12291a;--syn-key: #8fc8e8;--syn-keyword: #d3a6f0;--syn-string: #9ad7a8;--syn-number: #f0b27a;--syn-literal: #8fb4f0;--syn-punct: #8193a4;--selection: rgba(143, 180, 240, .3)}}:root[data-theme=dark]{--frame: #0b384f;--frame-deep: #082a3b;--bg: #0e1a24;--surface: #132330;--surface-2: #182b3a;--border: #2a4152;--text: #e8eef4;--text-dim: #9fb0c0;--link: #8fb4f0;--link-hover: #b3cdf6;--accent: #bce7d3;--accent-text: #0a121c;--violation: #ffa3a3;--violation-edge: #e05252;--violation-bg: #2c1618;--warning: #f0d77a;--warning-edge: #e0cb52;--warning-bg: #2a2512;--info: #c9daea;--info-edge: #5f86ad;--info-bg: #142636;--ok: #8fe08f;--ok-edge: #52b052;--ok-bg: #12291a;--syn-key: #8fc8e8;--syn-keyword: #d3a6f0;--syn-string: #9ad7a8;--syn-number: #f0b27a;--syn-literal: #8fb4f0;--syn-punct: #8193a4;--selection: rgba(143, 180, 240, .3)}*{box-sizing:border-box}html,body{height:100%}body{margin:0;background:var(--bg);color:var(--text);font:16px/1.55 var(--sans);display:flex;flex-direction:column}a{color:var(--link)}a:hover,a:focus{color:var(--link-hover)}.masthead{background:var(--frame);color:var(--frame-text);flex:none}.masthead-inner{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 14px;padding:10px 24px}.masthead-inner>*{white-space:nowrap}.masthead a{color:var(--frame-text);text-decoration:none}.masthead a:hover,.masthead a:focus{text-decoration:underline}.home{font-size:1.35rem;font-weight:700}.masthead h1{margin:0;font-size:1.1rem;font-weight:400;color:var(--frame-muted);padding-left:14px;border-left:1px solid var(--frame-rule)}.masthead-nav{margin-left:auto;font-size:1rem}.toolbar{flex:none;display:flex;flex-wrap:wrap;align-items:flex-end;gap:10px 14px;padding:12px 24px 10px;border-bottom:1px solid var(--border);background:var(--surface-2);position:relative}.field{flex:0 1 18rem;min-width:12rem}.field label,.advanced-body label{display:block;font-weight:700;font-size:.8rem;margin-bottom:4px}select,input#ref{width:100%;padding:7px 10px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--text);font:inherit;font-size:.95rem}.help{margin:6px 0 0;font-size:.82rem;color:var(--text-dim)}.toolbar-help{flex:1 0 100%;margin:0}.toolbar-help:empty{display:none}.actions{display:flex;gap:8px}button{font:inherit;font-size:.95rem;padding:7px 18px;border-radius:var(--radius);border:1px solid transparent;cursor:pointer}button.primary{background:var(--accent);color:var(--accent-text);font-weight:700}button.primary:hover{filter:brightness(1.12)}button.primary:disabled{opacity:.6;cursor:progress}button.ghost{background:var(--surface);border-color:var(--border);color:var(--text)}button.ghost:hover{border-color:var(--accent)}button:focus-visible,select:focus-visible,textarea:focus-visible,input:focus-visible,summary:focus-visible,a:focus-visible,.issue:focus-visible{outline:2px solid var(--link);outline-offset:2px}.advanced{align-self:center;margin-left:auto}.advanced summary{cursor:pointer;font-size:.85rem;color:var(--text-dim)}.advanced-body{position:absolute;right:24px;top:calc(100% - 4px);z-index:10;width:min(30rem,calc(100vw - 32px));padding:14px 16px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 10px 24px -8px #0000004d}.workspace{flex:1;min-height:0;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.pane{display:flex;flex-direction:column;min-height:0;min-width:0;padding:12px 24px}.editor-pane{border-right:1px solid var(--border)}.pane-head{flex:none;font-size:.8rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-dim);margin:0 0 8px}.editor{flex:1;min-height:0;display:flex;border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;background:var(--surface)}.gutter{margin:0;padding:12px 8px 32px 12px;background:var(--surface-2);border-right:1px solid var(--border);color:var(--text-dim);font:13px/1.5 var(--mono);text-align:right;user-select:none;overflow:hidden;min-width:3.2rem;white-space:pre}.gutter .flagged{color:var(--violation);font-weight:700}.gutter .current{background:var(--violation-bg);border-radius:3px}.code{position:relative;flex:1;min-width:0}.highlight,textarea#input{margin:0;border:0;padding:12px;font:13px/1.5 var(--mono);font-variant-ligatures:none;letter-spacing:normal;tab-size:2;white-space:pre;overflow-wrap:normal}.highlight{position:absolute;inset:0;overflow:hidden;color:var(--text);pointer-events:none;padding-right:32px;padding-bottom:32px}textarea#input{position:relative;display:block;width:100%;height:100%;resize:none;overflow:auto;background:transparent;color:transparent;caret-color:var(--text)}textarea#input::placeholder{color:var(--text-dim)}textarea#input::selection{color:transparent;background:var(--selection)}.tok-key{color:var(--syn-key)}.tok-keyword{color:var(--syn-keyword)}.tok-string{color:var(--syn-string)}.tok-number{color:var(--syn-number)}.tok-literal{color:var(--syn-literal)}.tok-punct{color:var(--syn-punct)}.privacy{flex:none;font-size:.78rem;color:var(--text-dim);margin:6px 2px 0}.results-scroll{flex:1;min-height:0;overflow-y:auto;padding-right:4px}.results:empty:before{content:"Validate a record to see what needs fixing. Choose an example above to try it out.";display:block;padding:18px 16px;border:1px dashed var(--border);border-radius:var(--radius);color:var(--text-dim);font-size:.9rem}.verdict{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;padding:12px 16px;border-radius:var(--radius);border:1px solid var(--border);border-left-width:5px;margin-bottom:14px}.verdict.pass{background:var(--ok-bg);border-color:var(--ok-edge)}.verdict.pass strong{color:var(--ok)}.verdict.fail{background:var(--violation-bg);border-color:var(--violation-edge)}.verdict.fail strong{color:var(--violation)}.verdict strong{font-size:1.05rem}.verdict .muted{color:var(--text-dim);font-size:.85rem}.group{margin-bottom:16px}.group>h3{font-size:.8rem;letter-spacing:.02em;font-family:var(--mono);color:var(--text-dim);margin:0 0 6px}.issue{border:1px solid var(--border);border-left-width:4px;border-radius:var(--radius);background:var(--surface);padding:10px 14px;margin-bottom:8px;cursor:pointer}.issue.violation{border-left-color:var(--violation-edge)}.issue.warning{border-left-color:var(--warning-edge)}.issue.info{border-left-color:var(--info-edge)}.issue:hover{border-color:var(--accent)}.issue.violation:hover{border-left-color:var(--violation-edge)}.issue.warning:hover{border-left-color:var(--warning-edge)}.issue-title{font-weight:700;margin:0 0 4px}.issue-title code{font-family:var(--mono);font-size:.92em}.issue-meta{font-size:.8rem;color:var(--text-dim);font-family:var(--mono);margin:0}.issue-hint{margin:6px 0 0;font-size:.9rem;color:var(--text-dim)}.pills{display:flex;flex-wrap:wrap;gap:5px;margin-top:8px}.pill{font:.78rem/1 var(--mono);padding:5px 8px;border-radius:999px;background:var(--surface-2);border:1px solid var(--border);color:var(--text-dim)}.issue details{margin-top:8px}.issue details summary{font-size:.8rem;color:var(--text-dim);cursor:pointer}.issue details dl{margin:8px 0 0;font:.78rem/1.5 var(--mono);color:var(--text-dim);display:grid;grid-template-columns:max-content 1fr;gap:2px 10px}.issue details dt{font-weight:700}.issue details dd{margin:0;overflow-wrap:anywhere}.banner{padding:10px 14px;border-radius:var(--radius);margin-bottom:12px;font-size:.9rem;border:1px solid;border-left-width:4px;color:var(--text)}.banner.warning{background:var(--warning-bg);border-color:var(--warning-edge)}.banner.info{background:var(--info-bg);border-color:var(--info-edge)}.banner.error{background:var(--violation-bg);border-color:var(--violation-edge)}.footer{flex:none;display:flex;flex-wrap:wrap;justify-content:space-between;gap:2px 16px;padding:6px 24px;background:var(--frame);color:var(--frame-muted);font-size:.78rem}.footer p{margin:0}.footer a{color:var(--frame-text)}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}@media(max-width:860px){html,body{height:auto}.masthead-inner,.toolbar,.pane,.footer{padding-left:16px;padding-right:16px}.home{font-size:1.15rem}.masthead h1{font-size:1rem}.masthead-nav{font-size:.9rem}.workspace{grid-template-columns:minmax(0,1fr)}.editor-pane{border-right:0;border-bottom:1px solid var(--border)}.editor{height:24rem;flex:none}.results-scroll{overflow:visible}.field{flex:1 1 100%}.actions,.actions button{flex:1}.advanced-body{right:16px}}
