:root{color:#0b2440;background:#fbfaf7;font-family:Inter,Avenir Next,Segoe UI,Arial,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;--navy-950: #032846;--navy-900: #043258;--navy-800: #0a426e;--ink: #0b2440;--muted: #526274;--subtle: #6c7785;--canvas: #fbfaf7;--surface: #fffefb;--line: #d9d9d4;--line-strong: #bec6cf;--orange: #fb5a12;--orange-dark: #d94700;--green: #168232;--green-soft: #e9f5e9;--red: #cb2630;--amber: #f39a00;--blue: #3174ca;--radius: 8px;--shadow: 0 1px 1px rgb(12 36 64 / 3%)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px;min-height:100vh;background:var(--canvas)}button,input{font:inherit}button{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,[role=tab]:focus-visible{outline:3px solid rgb(251 90 18 / 30%);outline-offset:2px}button:disabled{cursor:not-allowed;opacity:.55}a{color:var(--orange-dark);text-underline-offset:3px}h1,h2,h3,p{margin-top:0}.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.app-shell{min-height:100vh;display:grid;grid-template-columns:238px minmax(0,1fr)}.sidebar{position:sticky;top:0;height:100vh;min-height:740px;display:flex;flex-direction:column;color:#f8fbff;background:radial-gradient(circle at 30% 22%,rgb(11 74 119 / 44%),transparent 42%),linear-gradient(180deg,#032e52,#032743);border-right:1px solid #0c4c79;overflow:hidden auto;z-index:4}.brand-block{padding:34px 24px 38px 40px}.brand-compass{display:block;width:88px;height:88px;margin:0 0 16px 29px;color:var(--orange);filter:drop-shadow(0 2px 0 rgb(0 0 0 / 10%))}.brand-name{font-family:Georgia,Times New Roman,serif;font-size:39px;line-height:.9;letter-spacing:-.035em;text-wrap:balance}.brand-subtitle{margin-top:18px;color:#ff6a24;font-size:14px;line-height:1.3;font-weight:700}.side-nav{border-top:1px solid rgb(255 255 255 / 20%)}.side-nav-item{position:relative;width:100%;min-height:59px;display:flex;align-items:center;gap:13px;padding:0 25px 0 30px;color:#f9fbff;background:transparent;border:0;border-bottom:1px solid rgb(255 255 255 / 18%);cursor:pointer;font-size:15px;font-weight:600;text-align:left;transition:background-color .16s ease,color .16s ease}.side-nav-item:before{content:"";position:absolute;inset:0 auto 0 0;width:3px;background:transparent}.side-nav-item:hover{background:#ffffff0f}.side-nav-item.is-active{background:#ffffff0d}.side-nav-item.is-active:before{background:var(--orange)}.side-nav-item.is-active svg{color:var(--orange)}.sidebar-spacer{flex:1 1 80px}.privacy-card{margin:20px 16px 0;padding:18px 16px 17px;border:1px solid rgb(255 255 255 / 36%);border-radius:8px;color:#f7fbff;font-size:12px;line-height:1.45}.privacy-card-title{display:flex;align-items:center;gap:9px;margin-bottom:12px;font-weight:700}.privacy-card p{margin-bottom:12px}.privacy-card a{color:#ff6a24;font-weight:700}.trust-links{display:flex;flex-wrap:wrap;gap:7px 12px}.independence-note{margin:26px 24px 30px;color:#ffffffdb;font-size:11px;line-height:1.45}.workspace{min-width:0;padding:25px 17px 27px 26px;background:linear-gradient(#ffffff42,#ffffff42),var(--canvas)}.workspace-header{min-height:61px;display:flex;align-items:flex-start;justify-content:space-between;gap:24px;padding:0 0 15px 3px}.workspace-header h1{margin-bottom:4px;color:var(--ink);font-size:clamp(26px,2.25vw,33px);line-height:1.08;letter-spacing:-.035em;font-weight:760}.workspace-header p{margin:0;color:#263c54;font-size:15px;line-height:1.4}.panel{background:#fffefbbd;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.outline-button,.primary-button,.dark-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:3px;font-size:13px;line-height:1;font-weight:700;cursor:pointer;transition:transform .12s ease,box-shadow .12s ease,background-color .12s ease}.outline-button{min-height:38px;padding:0 20px;color:var(--ink);background:transparent;border:1px solid #183858}.outline-button:hover:not(:disabled){background:#f2f5f7}.primary-button{min-height:42px;padding:0 46px;color:#fff;background:var(--orange);border:1px solid var(--orange);box-shadow:0 5px 11px #fb5a122e;font-size:16px}.primary-button:hover:not(:disabled){background:#eb4d06;box-shadow:0 7px 16px #fb5a123b;transform:translateY(-1px)}.dark-button{min-height:40px;padding:0 21px;color:#fff;background:var(--navy-900);border:1px solid var(--navy-900)}.dark-button:hover{background:#052947}.about-button{flex:0 0 auto;min-width:198px}.top-grid{display:grid;grid-template-columns:minmax(0,1fr) 270px;gap:20px;align-items:stretch}.upload-panel{min-width:0;padding:24px 25px 20px}.upload-grid{display:grid;grid-template-columns:minmax(355px,1.28fr) minmax(280px,.92fr);gap:clamp(30px,4vw,62px);align-items:center}.drop-zone{min-height:273px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:22px;color:var(--ink);background:#ffffff3d;border:2px dashed #8198af;border-radius:8px;text-align:center;transition:background-color .15s ease,border-color .15s ease,transform .15s ease}.drop-zone.is-dragging{background:#fff6f0;border-color:var(--orange);transform:scale(1.008)}.upload-illustration{margin-bottom:12px;color:var(--orange);filter:drop-shadow(0 1px 0 rgb(11 36 64 / 10%))}.drop-zone h2{margin:0;font-size:18px;line-height:1.3;letter-spacing:-.015em}.drop-or{margin:5px 0 9px;font-size:13px}.privacy-inline{margin:15px 0 0;color:#526274;font-size:12px}.limit-inline{margin:5px 0 0;color:#7a8490;font-size:10px}.capability-list{display:grid;gap:22px;margin:0;padding:0;list-style:none}.capability-list li{display:flex;align-items:center;gap:14px;color:#16334f;font-size:13px;line-height:1.35}.capability-list svg{flex:0 0 auto}.selected-file,.empty-file-row,.upload-error{min-height:64px;display:flex;align-items:center;margin-top:21px;padding:10px 12px;border:1px solid var(--line);border-radius:7px;background:#ffffff57}.selected-file-icon{width:33px;height:39px;display:grid;place-items:center;margin-right:14px;color:#fff;background:#cbd7e8;border-radius:9px}.selected-file-meta{min-width:0;display:grid;gap:5px;font-size:12px}.selected-file-meta strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.selected-file-meta span{color:#405168}.selected-file-meta b{padding:0 5px;color:#919ba6}.ready-state{margin-left:auto;padding:7px 16px;color:#2a742b;background:var(--green-soft);border-radius:999px;font-size:12px;font-weight:700}.clear-button{min-width:70px;min-height:36px;margin-left:clamp(16px,5vw,80px);padding:0 16px}.empty-file-row{justify-content:space-between;color:var(--muted);font-size:13px}.empty-file-row button,.upload-error button,.text-link{padding:0;color:var(--orange-dark);background:none;border:0;text-decoration:underline;text-underline-offset:3px;cursor:pointer;font-size:12px}.upload-error{min-height:48px;gap:10px;color:#8d1b25;border-color:#e5aeb3;background:#fff4f4;font-size:12px}.upload-error button{margin-left:auto;white-space:nowrap}.compatibility-panel{display:flex;flex-direction:column;padding:20px 15px 14px}.panel-heading-row{display:flex;align-items:center;gap:8px;padding:0 1px 12px}.panel-heading-row h2,.result-panel h2{margin:0;color:var(--ink);font-size:15px;line-height:1.25;letter-spacing:-.012em}.help-dot{width:15px;height:15px;display:inline-grid;place-items:center;color:#58697b;border:1px solid #58697b;border-radius:50%;font-size:10px;font-weight:700}.hint-list{display:grid;gap:8px}.hint-row{min-height:62px;display:grid;grid-template-columns:25px 1fr;gap:10px;padding:10px;border:1px solid #e0dfda;border-radius:6px;background:#ffffff3b}.hint-row>svg{margin-top:1px}.hint-row strong{display:block;margin-bottom:2px;font-size:12px}.hint-row p{margin:0;color:#31455a;font-size:11px;line-height:1.28}.hint-good{color:var(--green)}.hint-warn{color:var(--amber)}.hint-info{color:#19772c}.compatibility-button{width:100%;min-height:32px;margin-top:auto;padding:0 8px;font-size:11px}.results-grid{display:grid;grid-template-columns:minmax(0,.94fr) minmax(0,1.28fr) minmax(0,1fr);gap:12px;margin-top:12px;align-items:stretch}.result-panel{min-width:0;min-height:452px;display:flex;flex-direction:column;padding:17px 14px 14px}.inventory-tabs{display:flex;align-items:flex-end;margin-top:12px;border-bottom:1px solid #d9d9d4}.inventory-tabs button{min-height:31px;padding:0 11px;color:#34485e;background:transparent;border:0;border-bottom:2px solid transparent;cursor:pointer;font-size:11px}.inventory-tabs button.is-selected{color:var(--ink);border-bottom-color:var(--navy-900);font-weight:700}.inventory-body{max-height:334px;margin:9px 0 12px;overflow:hidden}.inventory-body.is-expanded{max-height:700px;overflow:auto}.inventory-tree,.compact-list{margin:0;padding:0;list-style:none}.inventory-tree .inventory-tree{padding-left:17px}.tree-row{min-height:29px;display:flex;align-items:center;gap:7px;min-width:0;color:#263d55;font-size:11px}.tree-chevron{width:8px;color:#283e55;font-weight:700}.tree-row svg{flex:0 0 auto;color:#183d60}.tree-title{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tree-count{min-width:24px;margin-left:auto;padding:4px 7px;color:#526274;background:#eef0f2;border-radius:999px;text-align:center;font-size:10px}.compact-list{display:grid;gap:2px}.compact-list li{min-height:34px;display:flex;align-items:center;gap:8px;padding:4px 6px;border-bottom:1px solid #ecebe7;font-size:11px}.compact-list span{min-width:0;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.compact-list b{color:var(--muted)}.result-panel>.text-link{align-self:flex-start;margin-top:auto}.report-counts{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:14px 0 13px}.count-box{min-height:38px;display:flex;align-items:center;justify-content:center;gap:6px;padding:5px 7px;border:1px solid #e2e0dc;border-radius:6px;font-size:10px}.count-box strong{font-size:12px}.severity-error{color:var(--red)}.severity-warning{color:var(--amber)}.severity-info{color:var(--blue)}.report-groups{max-height:333px;overflow:hidden}.report-groups.is-expanded{max-height:720px;overflow:auto}.issue-group{margin-bottom:11px}.issue-group h3{margin:0 0 6px;font-size:12px;line-height:1.2}.issue-group-error h3{color:var(--red)}.issue-group-warning h3{color:var(--orange)}.issue-group-info h3{color:var(--blue)}.issue-group ul{display:grid;gap:4px;margin:0;padding:0;list-style:none}.issue-row{min-height:41px;display:grid;grid-template-columns:18px 49px minmax(0,1fr) 15px;align-items:center;gap:6px;padding:5px 8px;border:1px solid #e4e2df;border-radius:5px;color:#31465c;background:#ffffff47;font-size:10px}.issue-code{color:#2d4157;font-weight:600}.issue-copy{min-width:0;display:grid;gap:2px}.issue-copy strong,.issue-copy span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.issue-copy strong{display:none}.row-chevron{color:#657586}.no-issues{display:flex;align-items:center;gap:7px;margin:0;color:var(--green);font-size:11px}.details-panel dl{display:grid;gap:8px;margin:15px 0 24px}.details-panel dl div{display:grid;grid-template-columns:92px minmax(0,1fr);gap:8px;font-size:11px}.details-panel dt{font-weight:700}.details-panel dd{min-width:0;margin:0;overflow-wrap:anywhere;color:#263d55}.details-panel h3{margin:0 0 14px;font-size:14px}.next-list{display:grid;gap:18px;margin:0;padding:0;list-style:none}.next-list li{display:grid;grid-template-columns:24px 1fr;gap:10px;color:#173a5c}.next-list strong{display:block;margin-bottom:3px;font-size:11px}.next-list span{display:block;color:#344a60;font-size:10px;line-height:1.25}.report-placeholder{min-height:160px;display:flex;align-items:center;justify-content:center;gap:18px;margin-top:12px;color:#617084}.report-placeholder h2{margin:0 0 4px;font-size:16px;color:var(--ink)}.report-placeholder p{margin:0;font-size:13px}.action-bar{min-height:66px;display:grid;grid-template-columns:1fr 1fr 1fr;align-items:center;gap:18px;margin-top:16px;padding:11px 20px}.action-bar>p{margin:0;color:#5e6b79;text-align:center;font-size:12px}.export-button{justify-self:start}.action-bar .dark-button{justify-self:end}.about-dialog{width:min(500px,calc(100vw - 40px));padding:34px;color:var(--ink);background:var(--surface);border:1px solid #aeb8c2;border-radius:12px;box-shadow:0 24px 80px #0328463d}.about-dialog::backdrop{background:#031d348a;backdrop-filter:blur(3px)}.about-dialog h2{margin:10px 0 14px;font-size:25px;letter-spacing:-.025em}.about-dialog p{color:#42556a;font-size:14px;line-height:1.55}.dialog-links{display:flex;flex-wrap:wrap;gap:8px 18px}.dialog-links a{font-weight:700}.dialog-mark{color:var(--orange)}.dialog-close{position:absolute;top:15px;right:15px;width:36px;height:36px;display:grid;place-items:center;background:transparent;border:1px solid var(--line);border-radius:50%;cursor:pointer}.seo-content{color:var(--ink);background:#f3f0e8;border-top:1px solid #d8d4cb}.seo-content-inner{width:min(960px,calc(100% - 48px));margin:0 auto;padding:72px 0 64px}.seo-content .eyebrow{margin-bottom:10px;color:var(--orange-dark);font-size:12px;font-weight:800;letter-spacing:.11em;text-transform:uppercase}.seo-content h2{max-width:760px;margin:42px 0 13px;color:var(--navy-950);font-size:clamp(25px,3.4vw,38px);line-height:1.12;letter-spacing:-.035em}.seo-content .eyebrow+h2{margin-top:0}.seo-content h3{margin:24px 0 8px;color:#173d5f;font-size:18px}.seo-content p{max-width:840px;margin-bottom:15px;color:#30465a;font-size:16px;line-height:1.72}.seo-content code{padding:1px 5px;color:#173a59;background:#e4e8e7;border-radius:4px;font-size:.9em}.site-footer{display:flex;align-items:center;justify-content:space-between;gap:22px;padding:26px max(24px,calc((100vw - 960px)/2));color:#e9f1f7;background:var(--navy-950);font-size:13px}.site-footer nav{display:flex;flex-wrap:wrap;gap:12px 22px}.site-footer a{color:#ff7838;font-weight:750}.site-footer p{margin:0;text-align:right}@media(max-width:1180px){.app-shell{grid-template-columns:218px minmax(0,1fr)}.brand-block{padding-left:30px}.brand-name{font-size:35px}.top-grid{grid-template-columns:1fr 250px;gap:12px}.upload-grid{grid-template-columns:minmax(310px,1.25fr) minmax(230px,.75fr);gap:25px}.results-grid{grid-template-columns:1fr 1.35fr}.details-panel{grid-column:1 / -1;min-height:300px}.details-panel dl{grid-template-columns:1fr 1fr}.next-list{grid-template-columns:repeat(3,1fr)}}@media(max-width:920px){.app-shell{display:block}.sidebar{position:static;min-height:0;height:auto;display:grid;grid-template-columns:auto 1fr;align-items:center;overflow:visible}.brand-block{display:flex;align-items:center;gap:14px;padding:13px 20px}.brand-compass{width:48px;height:48px;margin:0}.brand-name{font-size:24px;line-height:.9}.brand-subtitle{display:none}.side-nav{display:flex;justify-content:flex-end;border:0}.side-nav-item{width:auto;min-height:74px;padding:0 14px;border:0}.side-nav-item:before{inset:auto 8px 0;width:auto;height:3px}.privacy-card,.independence-note,.sidebar-spacer{display:none}.workspace{padding:22px 18px}.top-grid{grid-template-columns:1fr}.compatibility-panel{min-height:330px}.hint-list{grid-template-columns:1fr 1fr}.compatibility-button{margin-top:16px}}@media(max-width:700px){.sidebar{display:block}.brand-block{justify-content:center}.side-nav{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));justify-content:stretch;overflow:visible;border-top:1px solid rgb(255 255 255 / 14%)}.side-nav-item{width:100%;min-height:48px;justify-content:center;gap:5px;padding:0 4px;font-size:10.5px}.side-nav-item svg{width:17px}.workspace-header{align-items:stretch;flex-direction:column}.about-button{min-width:0;align-self:flex-start}.upload-panel{padding:15px}.upload-grid{grid-template-columns:1fr}.drop-zone{min-height:265px}.capability-list{grid-template-columns:1fr;gap:13px;padding:5px 4px}.selected-file{flex-wrap:wrap}.selected-file-meta{max-width:calc(100% - 50px)}.ready-state{order:3;margin:10px 0 0 47px}.clear-button{order:4;margin:10px 0 0 auto}.hint-list,.results-grid{grid-template-columns:1fr}.result-panel{min-height:430px}.details-panel{grid-column:auto}.details-panel dl,.next-list{grid-template-columns:1fr}.action-bar{grid-template-columns:1fr;justify-items:stretch}.export-button,.action-bar .dark-button{justify-self:stretch}.action-bar>p{order:3}.seo-content-inner{width:min(100% - 36px,960px);padding:52px 0 46px}.seo-content h2{margin-top:34px;font-size:27px}.seo-content p{font-size:15px;line-height:1.68}.site-footer{align-items:flex-start;flex-direction:column;padding:24px 18px}.site-footer p{text-align:left}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}
