:root{--bg-top: #f5f2e9;--bg-bottom: #e8eef7;--panel: #ffffff;--ink: #1b2230;--muted: #5b6679;--accent: #005f73;--accent-soft: #d7edf2;--warn: #a63f00;--ok: #1a7f37;--border: #d6deec;--chip-role: #dff7ef;--chip-span: #fbe6d8;--chip-lang: #e1e8ff;font-family:IBM Plex Sans,Avenir Next,Segoe UI,sans-serif;line-height:1.4;font-weight:400;color:var(--ink);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*,*:before,*:after{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:radial-gradient(circle at 12% 18%,#f2dec9 0%,transparent 34%),radial-gradient(circle at 86% 12%,#d2e6ff 0%,transparent 30%),linear-gradient(170deg,var(--bg-top),var(--bg-bottom))}#app{padding:1rem}.shell{max-width:1500px;margin:0 auto}.hero{background:color-mix(in srgb,var(--panel) 86%,transparent);border:1px solid var(--border);border-radius:18px;padding:1rem;box-shadow:0 14px 35px #15223212}.hero h1{margin:0;font-size:clamp(1.2rem,2.8vw,1.8rem)}.hero p{margin:.35rem 0 1rem;color:var(--muted)}.controls{display:flex;gap:.8rem;flex-wrap:wrap;align-items:end}.page-nav{display:inline-flex;border:1px solid var(--border);border-radius:12px;overflow:hidden;background:#fff}.page-nav-link{border:0;background:transparent;color:#516079;font-size:.82rem;font-weight:600;padding:.52rem .75rem;cursor:pointer;text-decoration:none}.page-nav-link:hover{background:#eff5ff;color:#2b3f63}.page-nav-link-active{background:#005f73;color:#fff}.file-input,.select-wrap{display:grid;gap:.3rem;font-size:.8rem;color:var(--muted)}.toggle-wrap{display:inline-flex;align-items:center;gap:.45rem;border:1px solid var(--border);background:#fff;border-radius:10px;padding:.52rem .65rem;font-size:.82rem;color:var(--muted)}.toggle-wrap input{margin:0}.toggle-wrap.toggle-readonly{pointer-events:none}.file-input input,.select-wrap select{border:1px solid var(--border);background:#fff;border-radius:10px;color:var(--ink);padding:.55rem .65rem;font-size:.92rem;min-width:220px}.status{border-radius:10px;border:1px solid var(--border);background:#fff;padding:.55rem .75rem;font-size:.9rem;color:var(--muted)}.status[data-tone=busy]{border-color:#d9b972;color:var(--warn)}.status[data-tone=ok]{border-color:#9ed2b1;color:var(--ok)}.status[data-tone=warn]{border-color:#efbe9d;color:var(--warn)}.status[data-tone=error]{border-color:#e8b39b;color:#9c2c00}.mode-info{margin-top:.65rem;border:1px solid var(--border);border-radius:10px;background:#fff;padding:.48rem .65rem;font-size:.84rem;color:var(--muted)}.mode-info[data-tone=busy]{border-color:#d9b972;color:var(--warn)}.mode-info[data-tone=ok]{border-color:#9ed2b1;color:var(--ok)}.mode-info[data-tone=warn]{border-color:#efbe9d;color:#9c2c00}.mode-info[data-tone=error]{border-color:#e8b39b;color:#9c2c00}.debug-logs{margin-top:.65rem}.debug-logs pre{margin:.5rem 0 0;max-height:18vh;overflow:auto;border:1px solid var(--border);border-radius:10px;background:#fff;padding:.5rem;font-size:.72rem;font-family:IBM Plex Mono,SFMono-Regular,Menlo,Consolas,monospace}.stats{margin-top:.85rem;display:flex;gap:.55rem;flex-wrap:wrap}.stats-details{margin-top:.55rem}.stats-details pre{margin:.45rem 0 0;max-height:22vh;overflow:auto;border:1px solid var(--border);border-radius:10px;background:#fff;padding:.5rem;font-size:.74rem;font-family:IBM Plex Mono,SFMono-Regular,Menlo,Consolas,monospace}.panel-hint{color:var(--muted);font-size:.78rem}.stat{display:inline-block;padding:.28rem .55rem;border-radius:999px;border:1px solid var(--border);background:#fff;font-size:.78rem}.checker-workspace{margin-top:1rem;display:grid;grid-template-columns:minmax(340px,480px) minmax(480px,1fr);gap:1rem;align-items:start}.checker-findings-panel,.checker-preview-panel{border:1px solid var(--border);background:color-mix(in srgb,var(--panel) 95%,transparent);border-radius:16px;padding:.8rem;min-height:0;box-shadow:0 12px 24px #1a273c0f}.checker-preview-panel{position:sticky;top:.7rem;height:calc(100vh - 1.8rem);display:flex;flex-direction:column;overflow:hidden}.checker-findings-panel h2,.checker-preview-panel h2{margin:0;font-size:1.02rem}.checker-findings-panel{position:sticky;top:.7rem;max-height:calc(100vh - 1.8rem);overflow:auto}.checker-subtle{margin:.45rem 0 .72rem;color:var(--muted);font-size:.86rem}.checker-summary-wrap{margin-bottom:.65rem}.checker-summary-wrap summary{cursor:pointer;color:#40526d;font-size:.81rem;font-weight:600;margin-bottom:.4rem}.checker-export-wrap{margin-top:.75rem;border-top:1px dashed #c9d6e7;padding-top:.7rem}.checker-export-wrap h3{margin:0 0 .45rem;font-size:.84rem;color:#475873}.check-summary-chips{display:flex;flex-wrap:wrap;gap:.42rem;margin-bottom:.65rem}.report-link-block{margin-bottom:.8rem}.report-link-label{display:block;margin-bottom:.32rem;font-size:.78rem;color:#3b4b64}.report-link-row{display:grid;grid-template-columns:auto minmax(0,1fr);gap:0}.report-link-btn{border:1px solid #8faf2b;border-right:0;border-radius:8px 0 0 8px;background:#9cc533;color:#1a2a03;font-weight:700;font-size:.78rem;padding:.45rem .75rem;cursor:pointer}.report-link-btn:hover{background:#8eb52d}.report-link-input{border:1px solid #aebacc;border-radius:0 8px 8px 0;background:#fff;color:#27354c;font-size:.78rem;padding:.45rem .6rem;min-width:0}.report-link-status{margin-top:.28rem;font-size:.74rem;color:#5a6d8a}.report-link-status[data-tone=ok]{color:var(--ok)}.report-link-status[data-tone=warn]{color:var(--warn)}.report-link-status[data-tone=error]{color:#9c2c00}.document-card{border:1px solid #c8d2df;border-radius:10px;background:#f9fbff;padding:.7rem;margin-bottom:.8rem}.document-card-title{margin:0 0 .55rem;font-size:.94rem}.document-shell{border:1px solid #c8d2df;border-radius:8px;background:#fff;display:grid;grid-template-columns:130px minmax(0,1fr)}.document-art{border-right:1px solid #d5dbe7;background:#edf2e9;display:flex;align-items:center;justify-content:center;min-height:190px}.document-icon{width:74px;height:94px;border:2px solid #7d7d7d;border-radius:6px;position:relative;display:flex;align-items:center;justify-content:center;color:#6a6a6a;font-size:1.8rem}.document-icon:after{content:"";position:absolute;width:24px;height:24px;top:-2px;right:-2px;border-top:2px solid #7d7d7d;border-right:2px solid #7d7d7d;background:#edf2e9;clip-path:polygon(0 0,100% 0,100% 100%)}.document-meta-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.document-meta-row{border-bottom:1px solid #d5dbe7;padding:.52rem .62rem;min-height:44px;display:flex;flex-direction:column;gap:.1rem}.document-meta-row:nth-child(odd):nth-last-child(1),.document-meta-row:nth-child(2n):nth-last-child(1){grid-column:1 / -1}.document-meta-label{font-size:.72rem;color:#4d5f7a;font-weight:600}.document-meta-value{font-size:.86rem;color:#27354c;word-break:break-word}.standards-summary{border:1px solid #c8d2df;border-radius:10px;background:#f9fbff;padding:.55rem}.standards-tabs{display:inline-flex;gap:0;margin-bottom:.4rem}.standards-tab-btn{border:1px solid #aab7ca;background:#dbe2df;color:#1f2c3f;font-weight:700;font-size:.82rem;padding:.4rem .85rem;cursor:pointer}.standards-tab-btn:first-child{border-radius:8px 0 0}.standards-tab-btn:last-child{border-left:0;border-radius:0 8px 0 0}.standards-tab-btn-active{background:#fff}.standards-panel{border:1px solid #aebacc;border-radius:0 8px 8px;background:#fff;overflow:auto}.standards-table{width:100%;border-collapse:collapse}.standards-table th,.standards-table td{border-bottom:1px solid #d5dbe7;padding:.45rem .5rem;text-align:left;font-size:.82rem}.standards-table th:nth-child(n+2),.standards-table td:nth-child(n+2){width:90px;text-align:right}.standards-group-row td{background:#d5ddd8;font-weight:700}.standards-item-row td:first-child{padding-left:.95rem}.standards-row-clickable{cursor:pointer}.standards-row-clickable:hover td{background:#e8f0ff}.standards-row-clickable:focus-visible{outline:2px solid #2a6f97;outline-offset:-2px}.standards-row-active td{background:#dce8ff}.standards-row-label{display:inline-flex;align-items:center;gap:.42rem;flex-wrap:wrap}.standards-expand-btn{border:1px solid #9eb1cc;background:#f4f8ff;color:#2d4566;border-radius:3px;font-size:.72rem;line-height:1;padding:.16rem .4rem;cursor:pointer}.standards-expand-btn:hover{border-color:#7f99be;background:#e9f1ff}.standards-instance-row td{background:#eef3fc;border-bottom:1px solid #d5dbe7;padding:0 0 0 1.65rem}.standards-instance-list{display:block;border-left:1px solid #d5dbe7;padding-left:0}table.standards-table .standards-instance-btn{all:unset;display:block;width:100%;box-sizing:border-box;text-align:left;border-top:1px solid #d5dbe7;background:transparent;border-radius:0!important;padding:.45rem .5rem;color:#2d3b54;font-size:.82rem;line-height:1.2;cursor:pointer}table.standards-table .standards-instance-list .standards-instance-btn:first-child{border-top:0}table.standards-table .standards-instance-btn:hover{background:#e2ebfa}table.standards-table .standards-instance-btn-active{background:#dce8ff;box-shadow:inset 2px 0 #3b6ea4}.standards-status{width:16px;height:16px;border-radius:3px;display:inline-flex;align-items:center;justify-content:center;font-size:.66rem;font-weight:700}.standards-status-pass{background:#2c7f4d;color:#fff}.standards-status-warn{background:#c28d13;color:#fff}.standards-status-fail{background:#b33443;color:#fff}.standards-empty-row td{color:#5f6f89;text-align:center}.check-summary-table-wrap{margin-top:.65rem}.check-summary-table-scroll{max-height:210px;overflow:auto}.check-summary-table{width:100%;border-collapse:collapse;font-size:.78rem}.check-summary-table th,.check-summary-table td{border:1px solid var(--border);padding:.22rem .34rem;text-align:left}.finding-filters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.4rem}.finding-filters label{display:grid;gap:.22rem;font-size:.72rem;color:var(--muted)}.finding-filters select{border:1px solid var(--border);border-radius:8px;background:#fff;padding:.32rem .45rem;color:var(--ink);font-size:.78rem}.finding-list-meta{margin-top:.45rem;color:var(--muted);font-size:.76rem}.finding-list-items{margin-top:.45rem;max-height:min(46vh,520px);overflow:auto;display:grid;gap:.32rem}.finding-item{text-align:left;width:100%;border:1px solid var(--border);border-radius:10px;background:#fbfdff;padding:.38rem .45rem;cursor:pointer}.finding-item:hover{border-color:#96acce}.finding-item-active{border-color:#1f6d84;box-shadow:0 0 0 2px color-mix(in srgb,#1f6d84 22%,transparent);background:#f2fbfd}.finding-item-head{display:flex;flex-wrap:wrap;gap:.25rem;margin-bottom:.22rem}.finding-item-body{font-size:.78rem;color:#334055}.finding-empty{border:1px dashed var(--border);border-radius:9px;padding:.6rem;color:var(--muted);font-size:.78rem}.chip-rule{background:#d9ecff;border-color:#9fc2ea}.chip-severity{background:#ffe6d5;border-color:#f0be9e}.chip-outcome{background:#e2f7e8;border-color:#a9d6b7}.chip-family{background:#f0edf9;border-color:#d4caee}.chip-page{background:#f5f5f7;border-color:#d5d6dc}.report-export-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.4rem}.report-export-actions button{border:1px solid #bcc9dd;background:#fff;border-radius:9px;padding:.35rem .45rem;color:#2d3b54;font-size:.78rem;cursor:pointer}.report-export-actions button:hover{border-color:#8ea8ca}.report-export-status{margin-top:.45rem;font-size:.76rem;color:var(--muted)}.report-export-status[data-tone=ok]{color:var(--ok)}.report-export-status[data-tone=error]{color:#9c2c00}.checker-canvas-wrap{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;scroll-behavior:smooth;scrollbar-gutter:stable}.checker-pages{display:grid;gap:.7rem;padding:.55rem}.checker-page-layer{position:relative;width:fit-content;margin:0 auto}.checker-page-header{position:sticky;top:0;z-index:1;width:fit-content;margin:0 auto .35rem;border:1px solid #cdd8ea;border-radius:999px;background:#f3f7ff;color:#334867;padding:.14rem .5rem;font-size:.72rem;font-weight:700}.checker-page-canvas{display:block;border:1px solid #d7dfec;background:#fff;box-shadow:0 3px 8px #1621371a}.finding-detail{margin-top:.7rem;border:1px solid #c9d6e8;border-radius:12px;background:#fff;padding:.7rem;max-height:32vh;overflow:auto}.finding-detail h3{margin:0 0 .45rem;font-size:.95rem}.finding-detail h4{margin:0 0 .25rem;font-size:.82rem;color:#334867}.finding-detail p{margin:0;color:#27354c;font-size:.83rem}.finding-detail pre{margin:0;white-space:pre-wrap;font-size:.76rem;color:#334055;border:1px solid #d7e0ed;border-radius:8px;background:#f8fbff;padding:.42rem}.finding-detail ul{margin:0;padding-left:1rem;color:#334055;font-size:.82rem}.finding-detail-chips{margin-bottom:.5rem;display:flex;flex-wrap:wrap;gap:.25rem}.finding-detail-section{margin-top:.45rem}.finding-detail-empty{color:var(--muted)}.finding-detail-footer{margin-top:.55rem;font-size:.75rem;color:#5c6f8d}.inspector-workspace{margin-top:1rem}.workspace{margin-top:1rem;display:grid;grid-template-columns:minmax(260px,420px) minmax(320px,1fr) minmax(320px,1fr);gap:1rem}.panel{border:1px solid var(--border);background:color-mix(in srgb,var(--panel) 92%,transparent);border-radius:16px;padding:.8rem;min-height:0}.panel h2{margin:0 0 .6rem;font-size:1rem}.panel-title-row{display:flex;align-items:center;justify-content:space-between;gap:.6rem;margin-bottom:.6rem}.panel-title-row h2{margin:0}.panel-actions{display:inline-flex;align-items:center;gap:.45rem}.panel-copy-btn{border:1px solid #bcc9dd;background:#fff;border-radius:10px;padding:.32rem .58rem;color:#2d3b54;font-size:.8rem;cursor:pointer}.panel-copy-link{display:inline-flex;align-items:center;text-decoration:none}.panel-copy-btn:hover{border-color:#8ea8ca}.panel-copy-btn:disabled{opacity:.55;cursor:not-allowed}.copy-status{min-width:68px;font-size:.76rem;color:var(--muted)}.copy-status[data-tone=ok]{color:var(--ok)}.copy-status[data-tone=warn]{color:var(--warn)}.copy-status[data-tone=error]{color:#9c2c00}.canvas-wrap{position:relative;border:1px solid var(--border);border-radius:12px;background:#f8fafc;overflow:auto;max-height:74vh}.bbox-overlay{position:absolute;border:2px solid #c22a20;background:color-mix(in srgb,#c22a20 14%,transparent);pointer-events:none;box-shadow:0 0 0 1px #fff inset;border-radius:3px}.bbox-label{position:absolute;pointer-events:none;z-index:2;border-radius:999px;border:1px solid #b66c00;background:#fff6dc;color:#530;padding:.16rem .44rem;font-size:.7rem;font-weight:600;max-width:min(94%,560px);white-space:normal;line-height:1.2}#pageCanvas{display:block;margin:0 auto}.tree-panel{display:flex;flex-direction:column}.tree-output{flex:1;min-height:300px;max-height:70vh;overflow:auto;border:1px solid var(--border);border-radius:12px;padding:.5rem;background:#fafcff}.tree-list{list-style:none;padding-left:1rem;margin:0}.tree-list>.node,.tree-list>.leaf{margin:.32rem 0}.summary{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap;cursor:pointer}.focus-target{outline:2px solid #d58f00;outline-offset:2px;background:color-mix(in srgb,#ffdb8a 22%,transparent)}.chip{border-radius:999px;border:1px solid transparent;padding:.1rem .45rem;font-size:.74rem;font-weight:600}.chip-role{background:var(--chip-role);border-color:#acd8ca}.chip-span{background:var(--chip-span);border-color:#efbe9d}.chip-lang{background:var(--chip-lang);border-color:#bfccff}.chip-meta{background:#edf1f7;border-color:#ccd5e4;color:#3f4f68}.alt{color:var(--muted);font-size:.8rem}.node-text{margin:.3rem 0 .45rem;padding:.35rem .45rem;border-radius:8px;border:1px solid #dce3ef;background:#fff;font-size:.78rem;color:#334055;white-space:pre-wrap}.leaf{font-size:.84rem;color:var(--muted);font-family:IBM Plex Mono,SFMono-Regular,Menlo,Consolas,monospace;white-space:pre-wrap;word-break:break-word}.attrs{margin:.35rem 0;display:grid;gap:.45rem}.attr-card{border:1px solid var(--border);border-radius:10px;background:#fff;overflow:hidden}.attr-header{padding:.3rem .5rem;border-bottom:1px solid var(--border);background:var(--accent-soft);font-size:.76rem;font-weight:600}.attr-card pre{margin:0;padding:.45rem;white-space:pre-wrap;word-break:break-word;font-size:.76rem;font-family:IBM Plex Mono,SFMono-Regular,Menlo,Consolas,monospace}.raw-json{margin-top:.8rem}.raw-json pre{margin:.5rem 0 0;max-height:32vh;overflow:auto;border:1px solid var(--border);border-radius:10px;background:#fff;padding:.5rem;font-size:.76rem;font-family:IBM Plex Mono,SFMono-Regular,Menlo,Consolas,monospace}.html-panel{display:flex;flex-direction:column}.html-output{flex:1;min-height:300px;max-height:70vh;overflow:auto;border:1px solid var(--border);border-radius:12px;background:#fff;padding:.6rem}.html-render{white-space:normal;color:#1e2635;line-height:1.45}.html-render p,.html-render h1,.html-render h2,.html-render h3,.html-render h4,.html-render h5,.html-render h6{margin:.45rem 0}.html-render td>p,.html-render th>p{margin:0}.html-render ul{margin:.45rem 0;padding-left:1.2rem}.html-render .tag-toc{margin:.5rem 0}.html-render .tag-toc-list{list-style:none;margin:.35rem 0;padding-left:0}.html-render .tag-toci{margin:.28rem 0}.html-render .tag-reference{display:inline}.html-render .tag-label{display:inline-block;margin-right:.35rem;color:#4a607f;font-weight:600}.html-render .tag-list{margin:.45rem 0}.html-render .tag-list-item{margin:.25rem 0}.html-render .tag-list-body{display:inline}.html-render table{width:100%;border-collapse:collapse;margin:.65rem 0;font-size:.88rem}.html-render th,.html-render td{border:1px solid #ccd8ec;padding:.35rem .42rem;vertical-align:top}.html-render th{background:#f2f7ff}.html-render .meta-token{display:inline-block;margin:0 .2rem;border:1px solid #d2dbe9;border-radius:6px;padding:.08rem .26rem;font-size:.72rem;color:#5e6b7f;background:#f7f9fc}.html-render .tag-footnote-ref{font-size:.8em;vertical-align:super;line-height:0}.html-render .footnote-ref{text-decoration:none}.html-render .tag-note{margin:.5rem 0;padding:.4rem .55rem;border-left:3px solid #9ab4da;background:#f5f8ff;border-radius:6px;font-size:.9em}.html-render .footnote-marker{font-weight:700;margin-right:.2rem}.html-render .footnote-backref{margin-left:.35rem;text-decoration:none;opacity:.85}.raw-html{margin-top:.8rem}.raw-html pre{margin:.5rem 0 0;max-height:32vh;overflow:auto;border:1px solid var(--border);border-radius:10px;background:#fff;padding:.5rem;font-size:.76rem;font-family:IBM Plex Mono,SFMono-Regular,Menlo,Consolas,monospace}.html-warning{font-size:.86rem;color:var(--muted);margin-bottom:.6rem}.html-render-btn{border:1px solid #bcc9dd;background:#fff;border-radius:10px;padding:.45rem .72rem;color:#2d3b54;cursor:pointer}.html-render-btn:hover{border-color:#8ea8ca}@media(max-width:1380px){.checker-workspace{grid-template-columns:minmax(300px,420px) minmax(320px,1fr)}.workspace{grid-template-columns:minmax(260px,420px) minmax(320px,1fr)}.html-panel{grid-column:1 / -1}}@media(max-width:980px){.controls{align-items:stretch}.page-nav{width:100%}.page-nav-link{flex:1;text-align:center}.checker-workspace{grid-template-columns:1fr}.checker-findings-panel{position:static;max-height:none}.checker-preview-panel{position:static;height:auto;max-height:none;overflow:visible}.finding-filters,.report-export-actions{grid-template-columns:1fr}.report-link-row{grid-template-columns:1fr;gap:.35rem}.report-link-btn{border-right:1px solid #8faf2b;border-radius:8px}.report-link-input{border-radius:8px}.document-shell{grid-template-columns:1fr}.document-art{min-height:120px;border-right:0;border-bottom:1px solid #d5dbe7}.document-meta-grid,.workspace{grid-template-columns:1fr}.canvas-wrap{max-height:56vh}.tree-output,.html-output{max-height:54vh}.panel-title-row{flex-wrap:wrap}}
