:root{--bg:#f3f4f7;--surface:#fff;--surface-2:#f7f8fa;--text:#17181c;--muted:#6a6d78;--border:#d8dbe2;--accent:#2557d6;--accent-text:#fff;--danger:#c62828;--danger-bg:#fdecec;--warn-bg:#fff6d9;--warn-border:#e7c35a;--ok:#1d7a43;--radius:12px;--topbar-h:64px;--xml-tag:#1f4fbf;--xml-attr:#8a3ffc;--xml-value:#0f7b3e;--xml-punct:#8a8d98;--xml-comment:#8a8d98;--xml-meta:#a3561f;--xml-entity:#c2410c;--xml-active:#2557d60f;--xml-selection:#2557d633;--note-bg:#eef3ff;--note-text:#3a4a7a;--warn-text:#a15c00;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#121317;--surface:#1d1f25;--surface-2:#24262d;--text:#ecedf1;--muted:#9a9daa;--border:#353844;--accent:#7096ff;--accent-text:#0c0d10;--danger:#ff7070;--danger-bg:#3a1d1f;--warn-bg:#332b12;--warn-border:#7c6420;--ok:#5fd08f;--xml-tag:#7aa2ff;--xml-attr:#c792ea;--xml-value:#8bd49c;--xml-punct:#7d8190;--xml-comment:#7d8190;--xml-meta:#e0a36b;--xml-entity:#f59e6b;--xml-active:#7096ff14;--xml-selection:#7096ff47;--note-bg:#1f2638;--note-text:#aebce0;--warn-text:#f0b45a;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}*{box-sizing:border-box}html,body{margin:0}body{background:var(--bg);color:var(--text);-webkit-text-size-adjust:100%;font:15px/1.4 system-ui,-apple-system,Segoe UI,Roboto,sans-serif}a{color:var(--accent)}h3{color:var(--muted);text-transform:uppercase;letter-spacing:.03em;margin:6px 0 0;font-size:13px;font-weight:600}.topbar{z-index:5;min-height:var(--topbar-h);background:var(--surface);border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:12px;padding:8px 16px;display:flex;position:sticky;top:0}.topbar-title{flex:1;min-width:0}.topbar h1{white-space:nowrap;text-overflow:ellipsis;align-items:center;gap:8px;margin:0;font-size:17px;display:flex;overflow:hidden}.topbar .sub{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:13px;overflow:hidden}.topbar-actions{flex-wrap:wrap;gap:8px;display:flex}.github{width:34px;height:34px;color:var(--muted);border-radius:8px;justify-content:center;align-items:center;display:inline-flex}.github:hover{color:var(--text);background:var(--surface-2)}.loader-corner{position:absolute;top:12px;right:16px}button,.btn{font:inherit;border:1px solid var(--border);background:var(--surface);min-height:40px;color:var(--text);cursor:pointer;border-radius:10px;justify-content:center;align-items:center;gap:6px;padding:6px 14px;font-size:14px;text-decoration:none;display:inline-flex}button.primary,.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-text);font-weight:600}button.link{color:var(--accent);background:0 0;border:0;justify-self:start;min-height:28px;padding:0 2px}button.link.danger{color:var(--danger)}button.small,.btn.small{white-space:nowrap;min-height:34px;padding:4px 12px;font-size:13px}button:disabled{opacity:.45;cursor:default}.actions{flex-wrap:wrap;gap:8px;display:flex}.segmented{border:1px solid var(--border);border-radius:10px;flex-shrink:0;display:flex;overflow:hidden}.segmented button{background:var(--surface-2);white-space:nowrap;border:0;border-radius:0;flex:1;min-height:36px}.segmented button+button{border-left:1px solid var(--border)}.segmented button.on{background:var(--accent);color:var(--accent-text);font-weight:600}.badge{background:var(--surface-2);color:var(--muted);border:1px solid var(--border);border-radius:99px;padding:1px 8px;font-size:12px;font-weight:600;display:inline-block}.badge.mark{color:var(--accent);border-color:var(--accent);background:var(--note-bg);margin-left:6px;font-weight:500}.mark-issues{gap:2px;margin:0;padding-left:18px;font-size:13px;display:grid}.mark-issues .error{color:var(--danger)}.mark-issues .warning{color:var(--warn-text)}.mark-issues .info{color:var(--muted)}.mark-row>summary{cursor:pointer;gap:2px;display:grid}.mark-title{font-size:14px;font-weight:600}.mark-sub{color:var(--muted);font-size:12.5px}.codes{gap:3px;max-height:320px;margin:0;padding-left:22px;font-size:12.5px;display:grid;overflow:auto}.codes .kind{min-width:118px;color:var(--muted);display:inline-block}.codes code{word-break:break-all;font:12px ui-monospace,Cascadia Mono,Consolas,monospace}.badge.changed{color:#8a5a00;background:var(--warn-bg);border-color:var(--warn-border)}.loader{gap:16px;max-width:720px;margin:0 auto;padding:40px 16px;display:grid}.loader-intro h1{margin:0 0 6px;font-size:26px}.loader-intro p{color:var(--muted);margin:0}.dropzone{text-align:center;border:2px dashed var(--border);border-radius:var(--radius);background:var(--surface);cursor:pointer;justify-items:center;gap:10px;padding:48px 16px;transition:border-color .15s,background .15s;display:grid}.dropzone.over,.dropzone:hover{border-color:var(--accent)}.dropzone.over{background:var(--surface-2)}.dropzone-icon{color:var(--accent);font-size:36px;line-height:1}.paste{gap:10px;display:grid}.paste button{justify-self:start}.samples{color:var(--muted);margin:0;font-size:14px}textarea.code{white-space:pre;tab-size:2;font:12.5px/1.45 ui-monospace,Cascadia Mono,Consolas,monospace;overflow:auto}.workspace{grid-template-columns:minmax(380px,520px) 1fr;align-items:start;gap:16px;padding:16px;display:grid}.editor{gap:12px;min-width:0;display:grid}.viewer{top:calc(var(--topbar-h) + 16px);height:calc(100dvh - var(--topbar-h) - 32px);flex-direction:column;gap:8px;min-width:0;display:flex;position:sticky}.viewer>.segmented{align-self:flex-start}.encoding{margin:0 4px 24px}@media (width<=1000px){.workspace{grid-template-columns:1fr}.viewer{height:80vh;position:static}}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius)}.card>summary{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:8px;padding:12px 16px;list-style:none;display:flex}.card>summary::-webkit-details-marker{display:none}.card>summary:before{content:"▸";color:var(--muted);transition:transform .15s}.card[open]>summary:before{transform:rotate(90deg)}.card-title{font-size:15px;font-weight:600}.card-actions{margin-left:auto}.card-body{gap:12px;padding:0 16px 16px;display:grid}.field{align-content:start;gap:4px;min-width:0;display:grid}.field-label{color:var(--muted);font-size:12.5px}.field-error{color:var(--danger);font-size:12.5px}.field-hint{color:var(--muted);margin:0;font-size:12px}input,select,textarea{font:inherit;border:1px solid var(--border);background:var(--surface-2);width:100%;min-height:38px;color:var(--text);border-radius:8px;padding:7px 10px;font-size:14px}textarea{resize:vertical}input[readonly]{color:var(--muted)}input:focus,select:focus,textarea:focus{outline:2px solid var(--accent);outline-offset:-1px}.has-error input,.has-error select,.has-error textarea{border-color:var(--danger)}.readonly{border:1px dashed var(--border);color:var(--muted);border-radius:8px;min-height:38px;padding:7px 10px;font-size:14px}.field .readonly+button{justify-self:start;margin-top:4px}.row{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:10px;display:grid}.stack{gap:10px;display:grid}.check{cursor:pointer;align-items:center;gap:8px;font-size:14px;display:flex}.check input{width:18px;height:18px;min-height:0;margin:0}.item,.ref{border:1px solid var(--border);background:var(--surface-2);border-radius:10px;gap:8px;padding:10px;display:grid}.item input,.item select,.item textarea,.ref input,.ref select,.item .readonly{background:var(--surface)}.item-head{color:var(--muted);justify-content:space-between;align-items:center;font-size:13px;display:flex}.totals{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.totals div{background:var(--surface-2);border-radius:8px;gap:2px;padding:8px 10px;display:grid}.totals span{color:var(--muted);font-size:12px}.totals strong{font-variant-numeric:tabular-nums}.preview,.source{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.preview-bar{border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:8px;padding:8px;display:flex}.preview-bar .field-hint{flex:1}.preview-bar .segmented{margin-right:auto}.preview iframe{background:#e9e9ec;border:0;flex:1;width:100%}.xml-editor{flex:1;min-height:0}.xml-editor .cm-editor{height:100%}.cm-note{-webkit-user-select:none;user-select:none;cursor:default;padding:6px 0 2px}.cm-note span{border-left:3px solid var(--accent);background:var(--note-bg);color:var(--note-text);border-radius:0 6px 6px 0;padding:2px 8px;font:12px/1.4 system-ui,-apple-system,Segoe UI,Roboto,sans-serif;display:block}.hide-notes .cm-note{display:none}.cm-glossary{max-width:360px;padding:4px 8px;font:12.5px/1.4 system-ui,-apple-system,Segoe UI,Roboto,sans-serif}.problems.has{color:var(--danger);border-color:var(--danger)}.status{color:var(--muted);margin:0;padding:16px}.error-text{color:var(--danger)}.notice{border-radius:var(--radius);padding:12px 16px;font-size:14px}.notice-error{background:var(--danger-bg);border:1px solid var(--danger)}.notice-warn{background:var(--warn-bg);border:1px solid var(--warn-border)}@media (width<=600px){.topbar h1{font-size:15px}.workspace{padding:12px}.totals{grid-template-columns:1fr}}
