:root{--color-bg: #6B6B8D;--color-surface: #c8c8c8;--color-surface-alt: #b4b4b4;--color-border: #999;--color-border-light: #ddd;--color-border-dark: #666;--color-titlebar: #333;--color-titlebar-unfocused: #666;--color-text: #111;--color-text-secondary: #333;--color-text-muted: #505050;--color-text-inverse: #fff;--color-pass: #1a7a30;--color-fail: #b91c1c;--color-warning: #a24d09;--color-manual: #1556a0;--color-not-applicable: #444;--color-pass-bg: #d4edda;--color-fail-bg: #f8d7da;--color-warning-bg: #fff3cd;--color-manual-bg: #cce5ff;--color-primary: #1556a0;--color-primary-hover: #1a6dc2;--color-focus-ring: #5ba3e6;--space-xs: 4px;--space-sm: 8px;--space-md: 16px;--space-lg: 24px;--space-xl: 32px;--font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-mono: "SF Mono", "Fira Code", "Fira Mono", "Roboto Mono", monospace;--font-size-sm: .8125rem;--font-size-base: .875rem;--font-size-lg: 1rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--radius-sm: 0;--radius-md: 0;--radius-lg: 0;--shadow-sm: 1px 1px 2px rgba(0, 0, 0, .3);--shadow-md: 2px 2px 4px rgba(0, 0, 0, .35);--shadow-lg: 3px 3px 8px rgba(0, 0, 0, .4);--bevel-raised: inset 1px 1px 0 0 rgba(255,255,255,.5), inset -1px -1px 0 0 rgba(0,0,0,.25);--bevel-sunken: inset -1px -1px 0 0 rgba(255,255,255,.5), inset 1px 1px 0 0 rgba(0,0,0,.25);--transition-fast: .1s ease;--transition-normal: .2s ease;--menubar-height: 28px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body{height:100%;overflow:hidden;font-family:var(--font-family);font-size:var(--font-size-base);color:var(--color-text);background:var(--color-bg);line-height:1.5;-webkit-font-smoothing:antialiased}#app{height:100%;display:flex;flex-direction:column}.skip-link{position:absolute;top:-100%;left:var(--space-md);padding:var(--space-sm) var(--space-md);background:var(--color-primary);color:#fff;border-radius:var(--radius-sm);z-index:10000;text-decoration:none;font-weight:600}.skip-link:focus{top:var(--space-sm)}:focus-visible{outline:2px solid var(--color-focus-ring);outline-offset:2px}.status-badge{display:inline-flex;align-items:center;gap:var(--space-xs);padding:2px var(--space-sm);border-radius:var(--radius-sm);font-size:var(--font-size-sm);font-weight:600;text-transform:uppercase;letter-spacing:.02em;box-shadow:var(--bevel-raised)}.status-badge--pass{color:var(--color-pass);background:var(--color-pass-bg)}.status-badge--fail{color:var(--color-fail);background:var(--color-fail-bg)}.status-badge--warning{color:var(--color-warning);background:var(--color-warning-bg)}.status-badge--manual{color:var(--color-manual);background:var(--color-manual-bg)}.status-badge--not-applicable{color:var(--color-not-applicable);background:var(--color-surface-alt)}.status-filter{cursor:pointer;border:1px solid transparent;transition:opacity .15s ease,box-shadow .15s ease}.status-filter:hover{filter:brightness(1.1)}.status-filter--inactive{opacity:.35;box-shadow:none;filter:grayscale(.6)}.status-filter--inactive:hover{opacity:.55;filter:grayscale(.3)}.welcome{padding:var(--space-lg);text-align:center;background:var(--color-surface)}.welcome__error{padding:var(--space-sm) var(--space-md);margin-bottom:var(--space-md);background:var(--color-fail-bg);color:var(--color-fail);border-radius:var(--radius-sm);font-size:var(--font-size-sm);text-align:left;box-shadow:var(--bevel-sunken)}.welcome__title{font-size:var(--font-size-2xl);font-weight:700;margin-bottom:var(--space-xs)}.welcome__tagline{color:var(--color-text-secondary);margin-bottom:var(--space-md)}.welcome__features{list-style:none;text-align:left;margin:0 auto var(--space-lg);max-width:340px}.welcome__features li{padding:var(--space-xs) 0;padding-left:20px;position:relative;color:var(--color-text-secondary);font-size:var(--font-size-sm)}.welcome__features li:before{content:"✓";position:absolute;left:0;color:var(--color-pass);font-weight:700}.welcome__samples{margin-top:var(--space-md);text-align:center;font-size:var(--font-size-sm);color:var(--color-text-secondary)}.welcome__samples p{margin-bottom:var(--space-xs)}.welcome__sample-btns{display:flex;gap:var(--space-sm);justify-content:center}.welcome__sample-btn{padding:var(--space-xs) var(--space-md);font:inherit;font-size:var(--font-size-sm);background:var(--color-surface-alt);border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;color:var(--color-text)}.welcome__sample-btn:hover{background:var(--color-border-light)}.welcome__sample-btn:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.welcome__version{margin-top:var(--space-md);font-size:var(--font-size-sm);color:var(--color-text-muted)}.drop-zone{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-sm);min-height:120px;padding:var(--space-md);border:2px solid;border-color:var(--color-border-dark) var(--color-border-light) var(--color-border-light) var(--color-border-dark);background:var(--color-surface-alt);cursor:pointer;transition:background var(--transition-fast)}.drop-zone:hover,.drop-zone--active{background:var(--color-manual-bg)}.drop-zone__title{font-size:var(--font-size-lg);font-weight:600}.drop-zone__subtitle{color:var(--color-text-secondary);font-size:var(--font-size-sm)}.progress-dialog{padding:var(--space-lg);text-align:center;background:var(--color-surface)}.progress-dialog__file{font-weight:600;margin-bottom:var(--space-md);word-break:break-all}.progress-dialog__phase{margin-top:var(--space-sm);font-size:var(--font-size-sm);color:var(--color-text-secondary)}.results-main{display:flex;flex-direction:column;height:100%;overflow:hidden;font-family:var(--font-family);background:var(--color-surface)}.results-summary{padding:var(--space-sm) var(--space-md);border-bottom:2px solid;border-color:var(--color-border-dark);flex-shrink:0;overflow-y:auto;max-height:30%}.results-toolbar{display:flex;align-items:center;gap:var(--space-xs);padding:4px var(--space-sm);border-bottom:1px solid var(--color-border-dark);background:var(--color-surface-alt);flex-shrink:0;flex-wrap:wrap;box-shadow:var(--bevel-raised)}.toolbar-btn{padding:2px 10px;border:2px solid;border-color:var(--color-border-light) var(--color-border-dark) var(--color-border-dark) var(--color-border-light);background:var(--color-surface);color:var(--color-text);font-family:var(--font-family);font-size:var(--font-size-sm);cursor:pointer;white-space:nowrap;transition:none}.toolbar-btn:hover{background:#d8d8d8}.toolbar-btn:active{border-color:var(--color-border-dark) var(--color-border-light) var(--color-border-light) var(--color-border-dark);background:var(--color-surface-alt);transform:none}.toolbar-separator{width:1px;height:20px;background:var(--color-border-dark);margin:0 var(--space-xs);box-shadow:1px 0 0 var(--color-border-light)}.results-split{display:flex;flex:1;overflow:hidden}.results-findings{width:35%;min-width:250px;overflow-y:auto;border-right:2px solid;border-right-color:var(--color-border-dark);box-shadow:inset -1px 0 0 var(--color-border-light);padding:var(--space-sm);background:var(--color-surface)}.results-details{flex:1;overflow-y:auto;padding:var(--space-md);background:var(--color-surface)}.progress-bar{width:100%;max-width:400px;height:14px;background:var(--color-surface-alt);border:2px solid;border-color:var(--color-border-dark) var(--color-border-light) var(--color-border-light) var(--color-border-dark);overflow:hidden}.progress-bar__fill{height:100%;background:var(--color-primary);transition:width .3s ease}.small-screen-banner{display:none;padding:var(--space-md);background:var(--color-warning-bg);color:var(--color-warning);text-align:center;font-size:var(--font-size-sm)}.small-screen-banner button{background:none;border:none;color:inherit;cursor:pointer;text-decoration:underline;font:inherit}@media(max-width:767px){.small-screen-banner:not(.dismissed){display:block}}.app-menubar{position:fixed;top:0;left:0;right:0;height:var(--menubar-height);z-index:99999;display:flex;align-items:center;gap:1px;padding:0 var(--space-xs);background:var(--color-titlebar);border-bottom:2px solid;border-bottom-color:#1a1a1a;box-shadow:inset 0 1px #ffffff1f;font-family:var(--font-family);font-size:var(--font-size-sm);user-select:none;color:var(--color-text-inverse)}.app-menubar__brand{font-weight:700;font-size:var(--font-size-base);margin-right:var(--space-sm);color:var(--color-text-inverse);white-space:nowrap}.app-menubar__btn{padding:2px 10px;border:1px solid transparent;background:transparent;color:var(--color-text-inverse);font-family:var(--font-family);font-size:var(--font-size-sm);cursor:pointer;white-space:nowrap;display:inline-flex;align-items:center;gap:var(--space-xs);line-height:1;transition:background var(--transition-fast)}.app-menubar__btn:hover{background:#ffffff26;border-color:#fff3}.app-menubar__btn:active{background:#ffffff40}.app-menubar__btn:focus-visible{outline:2px solid var(--color-focus-ring);outline-offset:2px}.app-menubar__btn[disabled]{opacity:.35;cursor:default}.app-menubar__btn[disabled]:hover{background:transparent;border-color:transparent}.app-menubar__sep{width:1px;height:16px;background:#ffffff26;margin:0 2px}@keyframes submenu-appear{0%{opacity:0}}.app-menubar__submenu{position:fixed;top:var(--menubar-height);background:var(--color-surface);border:2px solid;border-color:var(--color-border-light) var(--color-border-dark) var(--color-border-dark) var(--color-border-light);box-shadow:var(--shadow-lg);z-index:100000;min-width:180px;padding:2px;animation:submenu-appear .1s ease}.app-menubar__submenu-item{display:block;width:100%;padding:3px var(--space-sm);border:none;background:none;color:var(--color-text);font-family:var(--font-family);font-size:var(--font-size-sm);text-align:left;cursor:pointer;white-space:nowrap}.app-menubar__submenu-item:hover{background:var(--color-titlebar);color:var(--color-text-inverse)}.app-menubar__submenu-item:focus-visible{outline:2px solid var(--color-focus-ring);outline-offset:-2px}.app-menubar__submenu-item--parent:after{content:"▶";float:right;margin-left:var(--space-md);font-size:.65em;opacity:.6}.app-menubar__submenu-divider{height:2px;border-top:1px solid var(--color-border-dark);border-bottom:1px solid var(--color-border-light);margin:2px 0;background:none}.dialog-content{padding:var(--space-lg);font-family:var(--font-family);line-height:1.6;overflow-y:auto;height:100%;background:var(--color-surface)}.dialog-content h2{font-size:var(--font-size-xl);margin-bottom:var(--space-sm)}.dialog-content h3{font-size:var(--font-size-lg);margin-top:var(--space-md);margin-bottom:var(--space-xs)}.dialog-content p{margin-bottom:var(--space-sm);font-size:var(--font-size-sm);color:var(--color-text-secondary)}.dialog-content ul,.dialog-content ol{padding-left:var(--space-lg);margin-bottom:var(--space-sm)}.dialog-content li{margin-bottom:var(--space-xs);font-size:var(--font-size-sm)}.about-dialog{display:flex;flex-direction:column;height:100%;font-family:var(--font-family);background:var(--color-surface);overflow-y:auto}.about-hero{display:flex;flex-direction:column;align-items:center;padding:var(--space-xl) var(--space-lg) var(--space-lg);text-align:center}.about-hero__icon{width:64px;height:64px;margin-bottom:var(--space-sm)}.about-hero__name{font-size:var(--font-size-xl);font-weight:700;color:var(--color-text);line-height:1.2}.about-hero__version{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin-top:2px}.about-hero__tagline{font-size:var(--font-size-sm);color:var(--color-text-muted);margin-top:var(--space-xs)}.about-info-panel{margin:0 var(--space-md) var(--space-md);padding:var(--space-md);background:var(--color-surface-alt);box-shadow:var(--bevel-sunken);border:1px solid var(--color-border-dark)}.about-info-grid{display:grid;grid-template-columns:auto 1fr;gap:var(--space-xs) var(--space-md);font-size:var(--font-size-sm);margin-bottom:var(--space-sm)}.about-info-grid dt{font-weight:600;color:var(--color-text-secondary);white-space:nowrap}.about-info-grid dd{margin:0;color:var(--color-text)}.about-info-grid a{color:var(--color-primary)}.about-details{border-top:1px solid var(--color-border);padding-top:var(--space-sm);margin-top:var(--space-sm);font-size:var(--font-size-sm);color:var(--color-text-secondary);line-height:1.5}.about-details summary{cursor:pointer;font-weight:600;color:var(--color-text);list-style:none;padding:2px 0}.about-details summary:before{content:"▶ ";font-size:.6em;vertical-align:middle}.about-details[open] summary:before{content:"▼ "}.about-details summary::-webkit-details-marker{display:none}.about-details p{margin:var(--space-xs) 0 0}.about-details a{color:var(--color-primary)}.about-credits{margin:var(--space-xs) 0 0;padding-left:var(--space-lg);list-style:none}.about-credits li{margin-bottom:2px}.about-credits li:before{content:"· ";color:var(--color-text-muted)}.winbox.white{background:var(--color-surface)!important;box-shadow:var(--shadow-lg);border:2px solid;border-color:var(--color-border-light) var(--color-border-dark) var(--color-border-dark) var(--color-border-light);transition:width .3s cubic-bezier(.3,1,.3,1),height .3s cubic-bezier(.3,1,.3,1),left .3s cubic-bezier(.3,1,.3,1),top .3s cubic-bezier(.3,1,.3,1)}.winbox.white:not(.focus){box-shadow:var(--shadow-sm)}.winbox.white .wb-header{background:var(--color-titlebar);box-shadow:inset 0 1px #ffffff1a,inset 0 -1px #0000004d}.winbox.white:not(.focus) .wb-header{background:var(--color-titlebar-unfocused)}.winbox.white .wb-title{font-family:var(--font-family);font-weight:600;font-size:var(--font-size-sm);color:var(--color-text-inverse)!important;text-shadow:0 1px 2px rgba(0,0,0,.5)}.winbox.white:not(.focus) .wb-title{color:#ffffffd9!important;text-shadow:none}.winbox.white .wb-body{background:var(--color-surface)}.winbox.white .wb-control{filter:none!important;display:flex;align-items:center;padding:0 6px 0 0;gap:2px}.winbox.white .wb-control *{width:16px;height:16px;border-radius:0;border:1px solid;border-color:rgba(255,255,255,.3) rgba(0,0,0,.3) rgba(0,0,0,.3) rgba(255,255,255,.3);background-color:var(--color-titlebar);background-size:9px 9px!important;background-position:center!important;opacity:1;transition:background-color var(--transition-fast)}.winbox.white .wb-min{background-size:10px auto!important;background-position:center calc(50% + 3px)!important}.winbox.white .wb-max{background-size:11px auto!important}.winbox.white .wb-close{background-size:10px auto!important;background-position:center!important}.winbox.white .wb-full{background-size:10px auto!important}.winbox.white .wb-control *:hover{background-color:#555;border-color:rgba(255,255,255,.4) rgba(0,0,0,.4) rgba(0,0,0,.4) rgba(255,255,255,.4)}.winbox.white .wb-close:hover{background-color:#8b2020}.winbox.white .wb-control *:active{border-color:rgba(0,0,0,.3) rgba(255,255,255,.3) rgba(255,255,255,.3) rgba(0,0,0,.3);background-color:#222}.winbox.white:not(.focus) .wb-control *{opacity:.5}.winbox.white.min{max-width:140px!important;min-height:48px!important;height:48px!important;border:2px solid;border-color:var(--color-border-light) var(--color-border-dark) var(--color-border-dark) var(--color-border-light);box-shadow:var(--shadow-md)}.winbox.white.min .wb-header{height:100%!important;background:var(--color-titlebar);box-shadow:var(--bevel-raised)}.winbox.white.min .wb-title{font-size:11px;line-height:48px;padding:0 4px 0 8px;overflow:hidden;text-overflow:ellipsis}.winbox.white.min .wb-control{padding:0 4px 0 0}.winbox.white.min .wb-control *{width:14px;height:14px}.winbox.white .wb-n,.winbox.white .wb-s,.winbox.white .wb-e,.winbox.white .wb-w,.winbox.white .wb-nw,.winbox.white .wb-ne,.winbox.white .wb-sw,.winbox.white .wb-se{background:transparent}.finding-card{padding:var(--space-sm) var(--space-md);background:var(--color-surface);border:2px solid;border-color:var(--color-border-light) var(--color-border-dark) var(--color-border-dark) var(--color-border-light);cursor:pointer;color:var(--color-text);transition:background var(--transition-fast)}.finding-card:hover{background:#d8d8d8}.finding-card:active{border-color:var(--color-border-dark) var(--color-border-light) var(--color-border-light) var(--color-border-dark)}.finding-card--selected{background:var(--color-titlebar);color:var(--color-text-inverse);border-color:var(--color-border-dark) var(--color-border-light) var(--color-border-light) var(--color-border-dark)}.finding-card__summary{color:var(--color-text-secondary)}.finding-card--selected .finding-card__summary,.finding-card--selected strong{color:var(--color-text-inverse)}.finding-card--selected .status-badge{box-shadow:none}.tree-stats{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);margin-bottom:var(--space-sm);font-size:var(--font-size-sm);color:var(--color-text-secondary);background:var(--color-surface-alt);box-shadow:var(--bevel-sunken)}.tree-truncated-warning{color:var(--color-warning);font-weight:600}.tree-node{list-style:none;padding:0;margin:0}.tree-node__row{display:flex;align-items:center;gap:var(--space-xs);padding:2px var(--space-xs);cursor:default;min-height:24px;white-space:nowrap}.tree-node__row:hover{background:#0000000f}.tree-node__row:focus-visible{outline:2px solid var(--color-focus-ring);outline-offset:-2px}.tree-node__row--selected{background:var(--color-titlebar);color:var(--color-text-inverse)}.tree-node__row--selected .tree-node__type{background:#ffffff26;border-color:#ffffff4d;color:inherit}.tree-node__row--selected .tree-node__mapping,.tree-node__row--selected .tree-node__count,.tree-node__row--selected .tree-node__alt{color:#fffc}.tree-node__toggle{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;flex-shrink:0;font-size:10px;color:var(--color-text-secondary);user-select:none}.tree-node__toggle--leaf{visibility:hidden}.tree-node__icon{display:inline-flex;align-items:center;justify-content:center;width:22px;flex-shrink:0;font-family:var(--font-mono);font-size:9px;font-weight:700;line-height:1;user-select:none}.tree-node__row--selected .tree-node__icon{color:#fffc!important}.tree-node__type{display:inline-block;padding:0 var(--space-xs);font-family:var(--font-mono);font-size:var(--font-size-sm);background:var(--color-surface);border:1px solid var(--color-border);box-shadow:var(--bevel-raised);line-height:1.4;cursor:help}.tree-node__mapping{font-size:var(--font-size-sm);color:var(--color-text-muted)}.tree-node__alt{font-size:var(--font-size-sm);color:var(--color-pass);max-width:200px;overflow:hidden;text-overflow:ellipsis}.tree-node__lang{font-size:var(--font-size-sm);padding:0 3px;background:var(--color-manual-bg);color:var(--color-manual);border:1px solid var(--color-border-light)}.tree-node__count{font-size:var(--font-size-sm);color:var(--color-text-muted)}.tree-node__more{padding:2px var(--space-sm);margin:2px 0 2px 20px;border:1px solid var(--color-border);background:var(--color-surface-alt);color:var(--color-primary);font:inherit;font-size:var(--font-size-sm);cursor:pointer;box-shadow:var(--bevel-raised)}.tree-node__more:hover{background:var(--color-surface)}.tree-node__more:focus-visible{outline:2px solid var(--color-focus-ring);outline-offset:2px}[role=group]{padding-left:16px}.pdf-preview{display:flex;flex-direction:column;height:100%;overflow:hidden}.pdf-preview__toolbar{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-xs) var(--space-sm);background:var(--color-surface-alt);border-bottom:2px solid;border-color:var(--color-border-dark);flex-shrink:0}.pdf-preview__nav-btn{min-width:28px;padding:2px var(--space-xs)}.pdf-preview__page-info{display:flex;align-items:center;gap:2px;font-size:var(--font-size-sm);color:var(--color-text-secondary)}.pdf-preview__page-input{width:48px;padding:2px var(--space-xs);border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);font:inherit;font-size:var(--font-size-sm);text-align:center;-moz-appearance:textfield}.pdf-preview__page-input::-webkit-inner-spin-button,.pdf-preview__page-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.pdf-preview__page-total{white-space:nowrap}.pdf-preview__zoom-label{font-size:var(--font-size-sm);color:var(--color-text-secondary);min-width:32px;text-align:center;white-space:nowrap}.pdf-preview__zoom-fit,.pdf-preview__reading-order-btn{font-size:var(--font-size-sm)}.pdf-preview__viewport{flex:1;overflow:auto;background:var(--color-bg);display:flex;justify-content:center;align-items:flex-start;padding:var(--space-sm)}.pdf-preview__canvas-wrap{position:relative;display:inline-block;flex-shrink:0}.pdf-preview__canvas{display:block;box-shadow:0 2px 8px #0000004d}.pdf-preview__overlay{position:absolute;top:0;left:0;pointer-events:none}.pdf-preview__status{padding:var(--space-sm) var(--space-md);font-size:var(--font-size-sm);color:var(--color-text-muted);text-align:center;flex-shrink:0}.pdf-preview__status:empty{display:none}.pdf-preview__highlight{fill:#3b82f640;stroke:#3b82f6b3;stroke-width:1.5}.pdf-preview__reading-order-badge circle{fill:var(--color-primary, #1556a0);stroke:#fff;stroke-width:1.5}.pdf-preview__reading-order-badge text{fill:#fff;font-size:11px;font-weight:700;font-family:var(--font-mono)}.pdf-preview__reading-order-line{stroke:var(--color-primary, #1556a0);stroke-width:1;stroke-dasharray:4 2;opacity:.5}.pdf-preview__alt-highlight{fill:#22c55e26;stroke:#22c55eb3;stroke-width:1.5;stroke-dasharray:4 2}.pdf-preview__alt-label-bg{fill:#1e1e1ee0}.pdf-preview__alt-label-role{fill:#22c55ee6;font-size:10px;font-weight:700;font-family:var(--font-mono);text-transform:uppercase}.pdf-preview__alt-label-text{fill:#fff;font-size:12px;font-family:var(--font-body)}.pdf-preview__alt-text-btn{font-size:var(--font-size-sm)}.pdf-preview__alt-label:hover .pdf-preview__alt-label-bg{fill:#22c55ef2}.pdf-preview__alt-label:focus{outline:2px solid rgba(34,197,94,.9);outline-offset:2px}.image-row--focused{outline:2px solid var(--color-primary, #1556a0);outline-offset:-2px;background:#1556a01a!important}.toolbar-btn--active{background:var(--color-titlebar);color:var(--color-text-inverse);border-color:var(--color-border-dark) var(--color-border-light) var(--color-border-light) var(--color-border-dark)}.dashboard{overflow-y:auto;height:100%;padding:var(--space-lg);font-family:var(--font-family);background:var(--color-surface)}.dashboard__verdict{padding:var(--space-md) var(--space-lg);margin-bottom:var(--space-lg);border:2px solid;box-shadow:var(--bevel-raised)}.dashboard__verdict--pass{background:var(--color-pass-bg);border-color:var(--color-pass) var(--color-pass) var(--color-pass) var(--color-pass)}.dashboard__verdict--warning{background:var(--color-warning-bg);border-color:var(--color-warning) var(--color-warning) var(--color-warning) var(--color-warning)}.dashboard__verdict--fail{background:var(--color-fail-bg);border-color:var(--color-fail) var(--color-fail) var(--color-fail) var(--color-fail)}.dashboard__verdict-title{font-size:var(--font-size-sm);font-weight:600;text-transform:uppercase;letter-spacing:.06em;margin-bottom:var(--space-xs);color:var(--color-text-secondary)}.dashboard__verdict-label{font-size:var(--font-size-2xl);font-weight:700;line-height:1.2}.dashboard__verdict--pass .dashboard__verdict-label{color:var(--color-pass)}.dashboard__verdict--warning .dashboard__verdict-label{color:var(--color-warning)}.dashboard__verdict--fail .dashboard__verdict-label{color:var(--color-fail)}.dashboard__verdict-desc{margin-top:var(--space-xs);font-size:var(--font-size-sm);color:var(--color-text-secondary)}.dashboard__header{margin-bottom:var(--space-lg);padding:var(--space-md);background:var(--color-surface-alt);border:2px solid;border-color:var(--color-border-light) var(--color-border-dark) var(--color-border-dark) var(--color-border-light);box-shadow:var(--bevel-raised)}.dashboard__creator-hint{margin-bottom:var(--space-lg);padding:var(--space-sm) var(--space-md);background:var(--color-manual-bg);border:1px solid var(--color-border-light);border-left:3px solid var(--color-manual);font-size:var(--font-size-sm);color:var(--color-text);line-height:1.5}.dashboard__file-info{margin-bottom:var(--space-md)}.dashboard__file-name{font-size:var(--font-size-xl);font-weight:700;margin-bottom:var(--space-xs);word-break:break-all}.dashboard__doc-title{font-size:var(--font-size-base);color:var(--color-text-secondary);margin:0 0 var(--space-xs);font-style:italic}.dashboard__file-facts{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.dashboard__actions{display:flex;flex-wrap:wrap;gap:var(--space-sm);margin-top:var(--space-md);padding-top:var(--space-md);border-top:1px solid var(--color-border-light)}.dashboard__action-btn{padding:var(--space-xs) var(--space-md);font-size:var(--font-size-sm);min-height:36px}.dashboard__action-btn--primary{background:var(--color-primary);color:var(--color-text-inverse);border-color:var(--color-primary)}.dashboard__action-btn--primary:hover{background:var(--color-primary-hover);border-color:var(--color-primary-hover)}.dashboard__section{margin-bottom:var(--space-lg)}.dashboard__section-heading{font-size:var(--font-size-base);font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-secondary);margin-bottom:var(--space-sm)}.dashboard__section-heading span{font-weight:400}.dashboard__section-content--full{border:2px solid;border-color:var(--color-border-light) var(--color-border-dark) var(--color-border-dark) var(--color-border-light)}.dashboard__finding-row{display:flex;align-items:flex-start;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);background:var(--color-surface);border-bottom:1px solid var(--color-border)}.dashboard__finding-row:last-child{border-bottom:none}.dashboard__finding-info{flex:1;min-width:0}.dashboard__finding-title{display:block;font-size:var(--font-size-base)}.dashboard__finding-summary{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin-top:2px}.dashboard__section-content--compact{display:flex;flex-wrap:wrap;gap:var(--space-sm)}.dashboard__finding-compact{flex:1 1 200px;max-width:360px;padding:var(--space-sm) var(--space-md);background:var(--color-surface);border:2px solid;border-color:var(--color-border-light) var(--color-border-dark) var(--color-border-dark) var(--color-border-light)}.dashboard__finding-compact .dashboard__finding-title{display:block;margin-top:var(--space-xs);font-size:var(--font-size-sm)}.dashboard__finding-compact .dashboard__finding-summary{margin-top:2px}.dashboard__section-content--chip{display:flex;flex-wrap:wrap;gap:var(--space-xs)}.dashboard__chip{display:inline-flex;align-items:center;gap:var(--space-xs);padding:2px var(--space-sm);font-size:var(--font-size-sm);font-weight:500;border:1px solid var(--color-border);background:var(--color-surface);box-shadow:var(--bevel-raised)}.dashboard__chip--pass{color:var(--color-pass);background:var(--color-pass-bg);border-color:var(--color-pass)}.dashboard__chip--not-applicable{color:var(--color-not-applicable);background:var(--color-surface-alt)}.dashboard__meta-grid{display:grid;grid-template-columns:auto 1fr auto 1fr;gap:var(--space-xs) var(--space-md);margin-bottom:var(--space-md);font-size:var(--font-size-sm)}.dashboard__meta-grid dt{font-weight:600;color:var(--color-text-secondary);white-space:nowrap}.dashboard__meta-grid dd{margin:0;overflow-wrap:break-word}.dashboard__meta-warn{color:var(--color-warning);font-style:italic}.has-tooltip{position:relative;cursor:help;text-decoration:underline dotted var(--color-text-muted);text-underline-offset:2px}.has-tooltip:after{content:attr(data-tooltip);position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%);padding:var(--space-xs) var(--space-sm);background:var(--color-titlebar);color:var(--color-text-inverse);font-size:var(--font-size-xs, 11px);font-weight:400;line-height:1.4;white-space:normal;width:max-content;max-width:260px;border-radius:4px;pointer-events:none;opacity:0;transition:opacity .15s ease-in-out;z-index:10}.has-tooltip:hover:after,.has-tooltip:focus:after{opacity:1}.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}@keyframes wb-fade-in{0%{opacity:0}to{opacity:.85}}.winbox{position:fixed;left:0;top:0;background:#0050ff;box-shadow:0 14px 28px #00000040,0 10px 10px #00000038;transition:width .3s,height .3s,left .3s,top .3s;transition-timing-function:cubic-bezier(.3,1,.3,1);contain:layout size;text-align:left;touch-action:none}.wb-body,.wb-header{position:absolute;left:0}.wb-header{top:0;width:100%;height:35px;line-height:35px;color:#fff;overflow:hidden;z-index:1}.wb-body{top:35px;right:0;bottom:0;overflow:auto;-webkit-overflow-scrolling:touch;overflow-scrolling:touch;will-change:contents;background:#fff;margin-top:0!important;contain:strict;z-index:0}.wb-control *,.wb-icon{background-repeat:no-repeat}.wb-drag{height:100%;padding-left:10px;cursor:move}.wb-title{font-family:Arial,sans-serif;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wb-icon{display:none;width:20px;height:100%;margin:-1px 8px 0 -3px;float:left;background-size:100%;background-position:center}.wb-e,.wb-w{width:10px;top:0}.wb-n,.wb-s{left:0;height:10px;position:absolute}.wb-n{top:-5px;right:0;cursor:n-resize;z-index:2}.wb-e{position:absolute;right:-5px;bottom:0;cursor:w-resize;z-index:2}.wb-s{bottom:-5px;right:0;cursor:n-resize;z-index:2}.wb-nw,.wb-sw,.wb-w{left:-5px}.wb-w{position:absolute;bottom:0;cursor:w-resize;z-index:2}.wb-ne,.wb-nw,.wb-sw{width:15px;height:15px;z-index:2;position:absolute}.wb-nw{top:-5px;cursor:nw-resize}.wb-ne,.wb-sw{cursor:ne-resize}.wb-ne{top:-5px;right:-5px}.wb-se,.wb-sw{bottom:-5px}.wb-se{position:absolute;right:-5px;width:15px;height:15px;cursor:nw-resize;z-index:2}.wb-control{float:right;height:100%;max-width:100%;text-align:center}.wb-control *{display:inline-block;width:30px;height:100%;max-width:100%;background-position:center;cursor:pointer}.no-close .wb-close,.no-full .wb-full,.no-header .wb-header,.no-max .wb-max,.no-min .wb-min,.no-resize .wb-body~div,.wb-body .wb-hide,.wb-show,.winbox.hide,.winbox.min .wb-body>*,.winbox.min .wb-full,.winbox.min .wb-min,.winbox.modal .wb-full,.winbox.modal .wb-max,.winbox.modal .wb-min{display:none}.winbox.max .wb-drag,.winbox.min .wb-drag{cursor:default}.wb-min{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNiAyIj48cGF0aCBmaWxsPSIjZmZmIiBkPSJNOCAwaDdhMSAxIDAgMCAxIDAgMkgxYTEgMSAwIDAgMSAwLTJoN3oiLz48L3N2Zz4=);background-size:14px auto;background-position:center calc(50% + 6px)}.wb-max{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGZpbGw9IiNmZmYiIHZpZXdCb3g9IjAgMCA5NiA5NiI+PHBhdGggZD0iTTIwIDcxLjMxMUMxNS4zNCA2OS42NyAxMiA2NS4yMyAxMiA2MFYyMGMwLTYuNjMgNS4zNy0xMiAxMi0xMmg0MGM1LjIzIDAgOS42NyAzLjM0IDExLjMxMSA4SDI0Yy0yLjIxIDAtNCAxLjc5LTQgNHY1MS4zMTF6Ii8+PHBhdGggZD0iTTkyIDc2VjM2YzAtNi42My01LjM3LTEyLTEyLTEySDQwYy02LjYzIDAtMTIgNS4zNy0xMiAxMnY0MGMwIDYuNjMgNS4zNyAxMiAxMiAxMmg0MGM2LjYzIDAgMTItNS4zNyAxMi0xMnptLTUyIDRjLTIuMjEgMC00LTEuNzktNC00VjM2YzAtMi4yMSAxLjc5LTQgNC00aDQwYzIuMjEgMCA0IDEuNzkgNCA0djQwYzAgMi4yMS0xLjc5IDQtNCA0SDQweiIvPjwvc3ZnPg==);background-size:17px auto}.wb-close{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9Ii0xIC0xIDE4IDE4Ij48cGF0aCBmaWxsPSIjZmZmIiBkPSJtMS42MTMuMjEuMDk0LjA4M0w4IDYuNTg1IDE0LjI5My4yOTNsLjA5NC0uMDgzYTEgMSAwIDAgMSAxLjQwMyAxLjQwM2wtLjA4My4wOTRMOS40MTUgOGw2LjI5MiA2LjI5M2ExIDEgMCAwIDEtMS4zMiAxLjQ5N2wtLjA5NC0uMDgzTDggOS40MTVsLTYuMjkzIDYuMjkyLS4wOTQuMDgzQTEgMSAwIDAgMSAuMjEgMTQuMzg3bC4wODMtLjA5NEw2LjU4NSA4IC4yOTMgMS43MDdBMSAxIDAgMCAxIDEuNjEzLjIxeiIvPjwvc3ZnPg==);background-size:15px auto;background-position:5px center}.wb-full{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGZpbGw9Im5vbmUiIHN0cm9rZT0iI2ZmZiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2Utd2lkdGg9IjIuNSIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBkPSJNOCAzSDVhMiAyIDAgMCAwLTIgMnYzbTE4IDBWNWEyIDIgMCAwIDAtMi0yaC0zbTAgMThoM2EyIDIgMCAwIDAgMi0ydi0zTTMgMTZ2M2EyIDIgMCAwIDAgMiAyaDMiLz48L3N2Zz4=);background-size:16px auto}.winbox.max .wb-body~div,.winbox.min .wb-body~div,.winbox.modal .wb-body~div,.winbox.modal .wb-drag,body.wb-lock iframe{pointer-events:none}.winbox.max{box-shadow:none}.winbox.max .wb-body{margin:0!important}.winbox iframe{position:absolute;width:100%;height:100%;border:0}body.wb-lock .winbox{will-change:left,top,width,height;transition:none}.winbox.modal:before{content:"";position:absolute;inset:0;background:inherit;border-radius:inherit}.winbox.modal:after{content:"";position:absolute;top:-50vh;left:-50vw;right:-50vw;bottom:-50vh;background:#0d1117;animation:wb-fade-in .2s ease-out forwards;z-index:-1}.no-animation{transition:none}.no-shadow{box-shadow:none}.no-header .wb-body{top:0}.no-move:not(.min) .wb-title{pointer-events:none}.wb-body .wb-show{display:revert}.winbox.white{background:#fff}.winbox.white .wb-title{color:#000}.winbox.white .wb-control{filter:invert(1)}
